curl/lib
2002-09-03 11:52:59 +00:00
..
.cvsignore ignore generated files 2002-08-08 23:11:26 +00:00
arpa_telnet.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
base64.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
base64.h updated source code boilerplate/header 2002-09-03 11:52:59 +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 updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
connect.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
content_encoding.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
content_encoding.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
cookie.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
cookie.h updated source code boilerplate/header 2002-09-03 11:52:59 +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 updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
dict.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
dllinit.c prevent compiler warnings 2002-08-20 11:43:31 +00:00
easy.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
escape.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
escape.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
file.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
file.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
formdata.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
formdata.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
ftp.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
ftp.h updated source code boilerplate/header 2002-09-03 11:52:59 +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 updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
getinfo.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
getinfo.h updated source code boilerplate/header 2002-09-03 11:52:59 +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 updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
hash.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
hash.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
hostip.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
hostip.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
http_chunks.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
http_chunks.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
http.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
http.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
if2ip.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
if2ip.h updated source code boilerplate/header 2002-09-03 11:52:59 +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 updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
ldap.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
ldap.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
libcurl.def Added multi interface functions to DLL definitions. 2002-08-03 16:38:28 +00:00
llist.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
llist.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
Makefile.am fixed the dist-hook and added the missing header file 2002-09-03 11:26:07 +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
memdebug.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
memdebug.h updated source code boilerplate/header 2002-09-03 11:52:59 +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 updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
netrc.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
netrc.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
progress.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
progress.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
README.encoding James Gallagher's Content-Encoding work 2002-09-02 22:31:18 +00:00
security.c added disable-[protocol] support, largely provided by Miklos Nemeth 2002-06-11 11:13:01 +00:00
security.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
sendf.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
sendf.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
setup.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
share.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
share.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
speedcheck.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
speedcheck.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
ssluse.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
ssluse.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
strequal.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
strequal.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
strtok.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
strtok.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
telnet.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
telnet.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
timeval.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
timeval.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
transfer.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
transfer.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
url.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
url.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
urldata.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
version.c updated source code boilerplate/header 2002-09-03 11:52:59 +00:00

		    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>