curl/lib
Daniel Stenberg 5f649a1649 Move the URL concat code to Curl_follow(), and added a proto for that
function. For Location: following.
2002-10-07 13:38:34 +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 Lukasz Czekierda correctly pointed out that curl used a bad Host: header 2002-09-11 10:32:37 +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 Added multi.c to curllib.dsp to fix win32 build 2002-09-04 15:07:28 +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 Walter J. Mack added curl_free 2002-09-25 12:26:07 +00:00
escape.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
file.c Dolbneff A.V and Spiridonoff A.V made the file:// code work with resumes 2002-09-23 12:46:23 +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 Craig Markwardt made the "struct hostent_data" get cleared too, as is 2002-09-20 14:40:14 +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 Cris Bailiff found this flaw, gethostbyname_r() on linux returns 0 even 2002-09-30 08:07:16 +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 make sure we free rangeline before we re-assign it to a new allocated 2002-09-25 12:47:38 +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 Walter J. Mack added curl_free 2002-09-25 12:26:07 +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 Kevin Roth pointed out that 'make install' failed if built outside the 2002-10-07 09:04:50 +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 content_encoding files. 2002-09-06 22:05:36 +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 properly disconnect failed connections 2002-09-23 12:44:45 +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 Move the URL concat code to Curl_follow(), and added a proto for that 2002-10-07 13:38:34 +00:00
transfer.h Move the URL concat code to Curl_follow(), and added a proto for that 2002-10-07 13:38:34 +00:00
url.c Allow a "" proxy explicitly set dont-use-proxy, i.e don't even check the 2002-09-27 09:49:40 +00:00
url.h updated source code boilerplate/header 2002-09-03 11:52:59 +00:00
urldata.h better deal with HTTP(S) servers that respond with no headers at all, test 2002-09-13 12:40:36 +00:00
version.c get an argument and add a 'age' field to the struct 2002-09-30 19:51:05 +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>