- From: Henrik Frystyk Nielsen <frystyk@w3.org>
- Date: Sat, 07 Feb 1998 14:05:19 -0500
- To: James Gallagher <jimg@dcz.cvo.oneworld.com>, www-lib@w3.org
At 20:36 2/6/98 -0500, James Gallagher wrote:
>I'm trying to add a `Accept-Encoding: gzip' header to the HTTP request issued
>by my client. When I use HTHeader_addGenerator(); the client hangs.
>
>Version: libwww 5.1g compiled with gcc 2.8
>CPU/OS: SparcStation 5, Solaris 2.5.1
>Server: Apache 1.2.0
gzip is a content encoding which you normally register as a stream
converter just as any other content coding converter (deflate, for
example), content type (text/html for example), or transfer encoding
(deflate, for example).
In HTMIME.c, you can see how the input stream is built dynamically in
pumpData(...) when we have received a response and is parsing it.
You can see how the existing converters are registered in HTInit.c using
the following functions:
Content Type converters: HTFormatInit(...)
Content Coders: HTContentEncoderInit(...)
Transfer Coders: HTTransferEncoderInit(...)
They are called from the "profiles" in HTProfil.c which are suited to
different types of applications (browsers, robots, etc.).
You can either register a stream converter on a pr request basis using the
functions described in
http://www.w3.org/Library/src/HTReq.html#Accept
or you can add it for all requests by using the functions described in
http://www.w3.org/Library/src/HTFormat.html#Global
So, if you want to register your gzip coder stream for all requests, you
would call
HTFormat_addCoding ("gzip", gzipstream, gunzipstream, 1.0);
where the gzipstream and gunzipstream are streams very much like the
defalte stream that you can find in
http://www.w3.org/Library/src/HTZip.c
although here you will only find the encoder stream.
The basic header add interface in
http://www.w3.org/Library/src/HTHeader.html
is more for headers that don't have any special meaning for libwww.
Hope this helps,
Henrik
--
Henrik Frystyk Nielsen,
World Wide Web Consortium
http://www.w3.org/People/Frystyk
Received on Saturday, 7 February 1998 14:05:42 UTC