aboutsummaryrefslogtreecommitdiff
path: root/lib/http_chunks.c
AgeCommit message (Collapse)Author
2011-04-20CURL_DOES_CONVERSIONS: cleanupDaniel Stenberg
Massively reduce #ifdefs all over (23 #ifdef lines less so far) Moved conversion-specific code to non-ascii.c
2011-04-18TE: rename struct field content_encodingDaniel Stenberg
Since this struct member is used in the code to determine what and how to decode automatically and since it is now also used for compressed Transfer-Encodings, I renamed it to the more suitable 'auto_decoding'
2010-10-17http_chunks: remove debug outputDaniel Stenberg
Accidentally left in there during my previous debugging of this
2010-08-25http: handle trailer headers in all chunked responsesDaniel Stenberg
HTTP allows that a server sends trailing headers after all the chunks have been sent WITHOUT signalling their presence in the first response headers. The "Trailer:" header is only a SHOULD there and as we need to handle the situation even without that header I made libcurl ignore Trailer: completely. Test case 1116 was added to verify this and to make sure we handle more than one trailer header properly. Reported by: Patrick McManus Bug: http://curl.haxx.se/bug/view.cgi?id=3052450
2010-03-24remove the CVSish $Id$ linesDaniel Stenberg
2010-02-26- Pat Ray in bug #2958474 pointed out an off-by-one case when receiving aDaniel Stenberg
chunked-encoding trailer. http://curl.haxx.se/bug/view.cgi?id=2958474
2009-06-10- Fabian Keil ran clang on the (lib)curl code, found a bunch of warnings andDaniel Stenberg
contributed a range of patches to fix them.
2009-04-21libcurl's memory.h renamed to curl_memory.hYang Tse
2008-10-24fix compiler warningYang Tse
2008-10-07Split off Curl_isxdigit functionDan Fandrich
2008-09-06remove unnecessary typecasting of malloc()Yang Tse
2008-09-06remove unnecessary typecasting of realloc()Yang Tse
2008-01-31- Dmitry Kurochkin moved several struct fields from the connectdata struct toDaniel Stenberg
the SingleRequest one to make pipelining better. It is a bit tricky to keep them in the right place, to keep things related to the actual request or to the actual connection in the right place.
2008-01-02- I fixed two cases of missing return code checks when handling chunkedDaniel Stenberg
decoding where a write error (or abort return from a callback) didn't stop libcurl's processing.
2007-11-24struct HandleData is now called struct SingleRequest, and is only for data thatDaniel Stenberg
is inited at the start of the DO action. I removed the Curl_transfer_keeper struct completely, and I had to move out a few struct members (that had to be set before DO or used after DONE) to the UrlState struct. The SingleRequest struct is accessed with SessionHandle->req. One of the biggest reasons for doing this was the bunch of duplicate struct members in HandleData and Curl_transfer_keeper since it was really messy to keep track of two variables with the same name and basically the same purpose!
2007-11-15Rearranged code and changed Curl_readwrite_init() and Curl_pre_readwrite() intoDaniel Stenberg
do_init() and do_complete() which now are called first and last in the DO function. It simplified the flow in multi.c and the functions got more sensible names!
2007-11-07if () => if()Daniel Stenberg
while () => while() and some other minor re-indentings
2007-10-02known bug #46: chunked-encoded CONNECT responses from a http proxy now works.Daniel Stenberg
Added test case 1008 to verify. Note that #47 is still there.
2007-07-10Shmulik Regev:Daniel Stenberg
The tiny patch below fixes a bug (that I introduced :) which happens when negotiating authentication with a proxy (probably with web servers as well) that uses chunked transfer encoding for the 407 error pages. In this case the ''ignorebody'' flag was ignored (no pun intended).
2007-02-22Fix compiler warning "statement is unreachable"Yang Tse
2007-02-21- Ravi Pratap provided work on libcurl making pipelining more robust andDaniel Stenberg
fixing some bugs: o Don't mix GET and POST requests in a pipeline o Fix the order in which requests are dispatched from the pipeline o Fixed several curl bugs with pipelining when the server is returning chunked encoding: * Added states to chunked parsing for final CRLF * Rewind buffer after parsing chunk with data remaining * Moved chunked header initializing to a spot just before receiving headers
2007-02-12- Shmulik Regev fixed so that the final CRLF of HTTP response headers are sentDaniel Stenberg
to the debug callback. - Shmulik Regev added CURLOPT_HTTP_CONTENT_DECODING and CURLOPT_HTTP_TRANSFER_DECODING that if set to zero will disable libcurl's internal decoding of content or transfer encoded content. This may be preferable in cases where you use libcurl for proxy purposes or similar. The command line tool got a --raw option to disable both at once.
2007-01-16David McCreedy fixed a flaw from his previous non-ascii HTTP patchDaniel Stenberg
2007-01-14- David McCreedy provided libcurl changes for doing HTTP communication onDaniel Stenberg
non-ASCII platforms. It does add some complexity, most notably with more #ifdefs, but I want to see this supported added and I can't see how we can add it without the extra stuff added.
2006-10-17Avoid typecasting a signed char to an int when using is*() functions, as thatDaniel Stenberg
could very well cause a negate number get passed in and thus cause reading outside of the array usually used for this purpose. We avoid this by using the uppercase macro versions introduced just now that does some extra crazy typecasts to avoid byte codes > 127 to cause negative int values.
2006-09-07Major overhaul introducing http pipelining support and shared connectionDaniel Stenberg
cache within the multi handle.
2006-08-19Based on a patch by Armel Asselin, the FTP code no longer re-issues the TYPEDaniel Stenberg
command on subsequent requests on a re-used connection unless it has to.
2005-07-12Adrian Schuur added trailer support in the chunked encoding stream. TheDaniel Stenberg
trailer is then sent to the normal header callback/stream.
2005-03-31Updated the copyright year since changes have been this year.Daniel Stenberg
2005-03-04killed trailing whitespaceDaniel Stenberg
2004-05-12The Curl_unencode_XXX_write() function take a ssize_t as third argument, soDaniel Stenberg
we typecast on invoke.
2004-05-11curl_global_init_mem() allows the memory functions to be replaced.Daniel Stenberg
memory.h is included everywhere for this.
2004-03-04use size_t for the data, but keep the protos use ssize_t to better fitDaniel Stenberg
with the existing transfer.c code
2004-01-29Dan Fandrich's cleanup patch to make pedantic compiler options cause lessDaniel Stenberg
warnings. Minor edits by me.
2004-01-07updated year in the copyright stringDaniel Stenberg
2003-08-03 Mark Fletcher provided an excellent bug report that identified a problemDaniel Stenberg
with FOLLOWLOCATION and chunked transfer-encoding, as libcurl would not properly ignore the body contents of 3XX response that included the Location: header.
2003-06-26use CURLDEBUG instead of MALLOCDEBUG for preprocessor conditionsDaniel Stenberg
2003-04-22Dan Fandrich corrected the error messages on "bad encoding".Daniel Stenberg
2003-04-11Nic Hines fixed this bug when deflate or gzip contents were downloaded usingDaniel Stenberg
chunked encoding.
2003-04-11Dan Fandrich's gzip patch appliedDaniel Stenberg
2003-01-29removed the local variables for emacs and vim, use the new sample.emacsDaniel Stenberg
way for emacs, and vim users should provide a similar non-polluting style
2003-01-16copyright year update in the source headerDaniel Stenberg
2002-09-03updated source code boilerplate/headerDaniel Stenberg
2002-09-02James Gallagher's Content-Encoding workDaniel Stenberg
2002-06-11added disable-[protocol] support, largely provided by Miklos NemethDaniel Stenberg
2002-03-19copyright string (year) updateDaniel Stenberg
2001-10-11looks nicer and is better compatible with older vim versionsSterling Hughes
2001-09-07Added formatting sections for emacs and vimSterling Hughes
2001-09-03corrected the comment to be valid chunk formatDaniel Stenberg
2001-08-14Curl_httpchunk_read now takes size_t size arguments instead of the previousDaniel Stenberg
ssize_t