Rework server chunked transfer encoding support detection in ra_serf. Use
HTTP/1.1 chunked transfer encoding for first OPTIONS request and then
fallback to HTTP/1.0 requests if HTTP 411 status code or HTTP/1.0 response
received.
Discussion and report: http://svn.haxx.se/dev/archive-2013-06/0408.shtml
* subversion/libsvn_ra_serf/ra_serf.h
(svn_ra_serf__session_t): Remove HTTP10 and add USE_CHUNKED_ENCODING.
* subversion/libsvn_ra_serf/options.c
(svn_ra_serf__exchange_capabilities): Retry OPTIONS request without using
chunked transfer encoding if HTTP 411 status code or HTTP/1.0 response
received for chunked request.
* subversion/libsvn_ra_serf/serf.c
(svn_ra_serf__open): Initialize USE_CHUNKED_ENCODING to TRUE.
* subversion/libsvn_ra_serf/util.c
(setup_serf_req): Use USE_CHUNKED_ENCODING member instead of removed
HTTP10. Always send 'Connection: keep-alive' header.
[reverted in r1495419]
|