curl/lib
Daniel Stenberg 64bbe9dfaf James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
..
.cvsignore ignore generated files 2002-08-08 23:11:26 +00:00
Makefile.am James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
Makefile.b32 use the ws2_32.lib now (Miklos Nemeth reporteD) 2001-11-19 20:09:02 +00:00
Makefile.b32.resp Miklos Nemeth pointed out the missing connect.obj 2001-11-19 20:06:29 +00:00
Makefile.m32 Added multi.[co] to the build 2002-07-29 11:07:26 +00:00
Makefile.riscos brougth by Michael Curtis 2002-04-10 20:52:26 +00:00
Makefile.vc6 link with winmm.lib too 2002-07-29 14:20:53 +00:00
README.encoding James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
arpa_telnet.h added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
base64.c copyright string (year) update 2002-03-19 07:54:55 +00:00
base64.h copyright string (year) update 2002-03-19 07:54:55 +00:00
ca-bundle.crt ca bundle to use 2002-09-02 22:29:48 +00:00
ca-bundle.h.in ca-bundle stuff for configure and generated header file 2002-08-30 07:50:59 +00:00
config-mac.h moved the config-*.h files from root to the lib/ dir 2002-02-07 14:32:28 +00:00
config-riscos.h Michael Curtis' updates 2002-04-08 21:59:06 +00:00
config-vms.h HAVE_SIGSETJMP 2002-06-12 17:56:22 +00:00
config-win32.h Andrew Francis removed the need for/use of MSVC pragmas 2002-08-26 17:20:29 +00:00
connect.c Andrew Francis removed the need for/use of MSVC pragmas 2002-08-26 17:20:29 +00:00
connect.h Initial fix to make the multi interface return control while waiting for 2002-08-12 09:43:20 +00:00
content_encoding.c James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
content_encoding.h James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
cookie.c properly skip white spaces on Set-Cookie: header lines 2002-07-29 22:22:49 +00:00
cookie.h support for ingoring session cookies added 2002-05-07 09:58:13 +00:00
curllib.dsp Hanno L. Kranzhoff fixed them 2002-06-14 09:36:09 +00:00
curllib.dsw Hanno L. Kranzhoff fixed them 2002-06-14 09:36:09 +00:00
dict.c copyright string (year) update 2002-03-19 07:54:55 +00:00
dict.h added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
dllinit.c prevent compiler warnings 2002-08-20 11:43:31 +00:00
easy.c support for ingoring session cookies added 2002-05-07 09:58:13 +00:00
escape.c ignore '+' in URLs, generate only %-codes 2002-06-26 07:15:31 +00:00
escape.h copyright string (year) update 2002-03-19 07:54:55 +00:00
file.c added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
file.h added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
formdata.c Chris Combes added CURLFORM_BUFFER, CURLFORM_BUFFERPTR, CURLFORM_BUFFERLENGTH 2002-06-12 21:40:59 +00:00
formdata.h Chris Combes added CURLFORM_BUFFER, CURLFORM_BUFFERPTR, CURLFORM_BUFFERLENGTH 2002-06-12 21:40:59 +00:00
ftp.c SSL_INSECURE support and usage added 2002-08-26 23:13:25 +00:00
ftp.h Initial fix to make the multi interface return control while waiting for 2002-08-12 09:43:20 +00:00
getdate.c Nico Baggus' VMS tweaks 2002-02-20 13:46:53 +00:00
getdate.h Nico Baggus' VMS tweaks 2002-02-20 13:46:53 +00:00
getdate.y Nico Baggus' VMS tweaks 2002-02-20 13:46:53 +00:00
getenv.c copyright string (year) update 2002-03-19 07:54:55 +00:00
getinfo.c Dirk Manske brought the patch that introduces two new CURLINFO_* values: 2002-04-16 07:59:20 +00:00
getinfo.h copyright string (year) update 2002-03-19 07:54:55 +00:00
getpass.c use stderr to present the prompt to, make sure to close the fopen()ed 2002-07-29 14:15:14 +00:00
getpass.h copyright string (year) update 2002-03-19 07:54:55 +00:00
hash.c DNC cache prune crash removed, made the name spacing follow the general 2002-04-27 13:06:40 +00:00
hash.h Now uses Curl_ as prefix for internal global symbols. curl_ should only be 2002-04-27 13:07:51 +00:00
hostip.c prevent compiler warning 2002-08-30 11:10:50 +00:00
hostip.h In order to not get problems with DNS cache pruning, we no longer store 2002-04-25 19:00:57 +00:00
http.c James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
http.h added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
http_chunks.c James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
http_chunks.h James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
if2ip.c copyright string (year) update 2002-03-19 07:54:55 +00:00
if2ip.h copyright string (year) update 2002-03-19 07:54:55 +00:00
inet_ntoa_r.h had to add this since it was missing in the system includes! 2000-05-29 22:52:17 +00:00
krb4.c added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
krb4.h copyright string (year) update 2002-03-19 07:54:55 +00:00
ldap.c kris@freebsd.org fixed a bad format string 2002-06-12 07:45:11 +00:00
ldap.h added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
libcurl.def Added multi interface functions to DLL definitions. 2002-08-03 16:38:28 +00:00
llist.c Now uses Curl_ as prefix for internal global symbols. curl_ should only be 2002-04-27 13:07:51 +00:00
llist.h Now uses Curl_ as prefix for internal global symbols. curl_ should only be 2002-04-27 13:07:51 +00:00
memdebug.c James Cone's efforts to add another netrc parsing "mode" 2002-05-21 22:17:19 +00:00
memdebug.h copyright string (year) update 2002-03-19 07:54:55 +00:00
mprintf.c maprintf() and vmaprintf() now work better when printfing "%s" with an 2002-05-21 17:59:57 +00:00
multi.c Initial fix to make the multi interface return control while waiting for 2002-08-12 09:43:20 +00:00
netrc.c James Cone's efforts to add another netrc parsing "mode" 2002-05-21 22:17:19 +00:00
netrc.h James Cone's efforts to add another netrc parsing "mode" 2002-05-21 22:17:19 +00:00
progress.c Andrew Francis removed the need for/use of MSVC pragmas 2002-08-26 17:20:29 +00:00
progress.h Dirk Manske brought the patch that introduces two new CURLINFO_* values: 2002-04-16 07:59:20 +00:00
security.c added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
security.h copyright string (year) update 2002-03-19 07:54:55 +00:00
sendf.c Markus Oberhumer improved an out-of-memory check 2002-08-22 19:38:17 +00:00
sendf.h Jean-Philippe Barrette-LaPierre provided his patch that introduces 2002-04-12 07:21:11 +00:00
setup.h added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
share.c Sterling Hughes brings the share interface 2002-08-13 14:20:47 +00:00
share.h Sterling Hughes brings the share interface 2002-08-13 14:20:47 +00:00
speedcheck.c copyright string (year) update 2002-03-19 07:54:55 +00:00
speedcheck.h copyright string (year) update 2002-03-19 07:54:55 +00:00
ssluse.c if verifypeer is enabled but nether CAfile nor CApath is, then don't try 2002-08-30 12:07:42 +00:00
ssluse.h copyright string (year) update 2002-03-19 07:54:55 +00:00
strequal.c copyright string (year) update 2002-03-19 07:54:55 +00:00
strequal.h copyright string (year) update 2002-03-19 07:54:55 +00:00
strtok.c copyright string (year) update 2002-03-19 07:54:55 +00:00
strtok.h copyright string (year) update 2002-03-19 07:54:55 +00:00
telnet.c added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
telnet.h added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
timeval.c T. Bharath fixed his mm lib timer resolution fix 2002-06-26 06:47:18 +00:00
timeval.h copyright string (year) update 2002-03-19 07:54:55 +00:00
transfer.c James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
transfer.h copyright string (year) update 2002-03-19 07:54:55 +00:00
url.c James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
url.h Initial fix to make the multi interface return control while waiting for 2002-08-12 09:43:20 +00:00
urldata.h James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
version.c adjusted to more HTTP-strict version strings and to offer LIBZ info 2002-09-02 21:59:31 +00:00

README.encoding

		    Content Encoding Support for libcurl

* About content encodings: 

HTTP/1.1 [RFC 2616] specifies that a client may request that a server encode
its response. This is usually used to compress a response using one of a set
of commonly available compression techniques. These schemes are `deflate'
(the zlib algorithm), `gzip' and `compress' [sec 3.5, RFC 2616]. A client
requests that the sever perform an encoding by including an Accept-Encoding
header in the request document. The value of the header should be one of the
recognized tokens `deflate', ... (there's a way to register new
schemes/tokens, see sec 3.5 of the spec). A server MAY honor the client's
encoding request. When a response is encoded, the server includes a
Content-Encoding header in the response. The value of the Content-Encoding
header indicates which scheme was used to encode the data.

A client may tell a server that it can understand several different encoding
schemes. In this case the server may choose any one of those and use it to
encode the response (indicating which one using the Content-Encoding header).
It's also possible for a client to attach priorities to different schemes so
that the server knows which it prefers. See sec 14.3 of RFC 2616 for more
information on the Accept-Encoding header.

* Current support for content encoding:

I added support for the 'deflate' content encoding to both libcurl and curl.
Both regular and chunked transfers should work although I've tested only the
former. The library zlib is required for this feature. Places where I
modified the source code are commented and typically include my initials and
the date (e.g., 08/29/02 jhrg).

* The libcurl interface:

To cause libcurl to request a content encoding use: 

    curl_easy_setopt(curl, CURLOPT_ENCODING, <string>) 

where <string> is the intended value of the Accept-Encoding header.

Currently, libcurl only understands how to process responses that use the
`deflate' Content-Encoding, so the only value for CURLOPT_ENCODING that will
work (besides "identity," which does nothing) is "deflate." If a response is
encoded using either the `gzip' or `compress' methods, libcurl will return an
error indicating that the response could not be decoded. If <string> is null
or empty no Accept-Encoding header is generated.

* The curl interface:

Use the --compressed option with curl to cause it to ask servers to compress
responses using deflate. 

James Gallagher <jgallagher@gso.uri.edu>