* RFC 2616 says
"All HTTP/1.1 applications MUST be able to receive and decode the
"chunked" transfer-coding, and MUST ignore chunk-extension
extensions
they do not understand."
I read this as "an HTTP/1.1 server must accept "chunked" or quit
reporting it complies with the HTTP/1.1 specification".
No, you should read it as an HTTP/1.1 server MUST be able to receive
and decode the "chunked" transfer-coding, because that's what I wrote.
In other words, it must be able to parse the message.
All of it, except for the preference to RB_STREAM_CHUNKED when,
perhaps, we could be more sub-optimal, falling back on RB_SPOOL_CL.
Many RB_STREAM_CL choices, before, were equally dangerous, and that
C-L == length_read test in the stream_reqbody_chunked() was meant
to exclude future abuse.
We should be sending C-L if the brigade includes the entire message.
CL is always preferred for requests. The only time we should send
T-E on a proxied request is if we cannot buffer enough of the
received request to know how large it will be.
* No longer upgrade HTTP/1.0 requests to the origin server as
HTTP/1.1 unless the force-proxy-request-1.1 envvar is set.
[William Rowe]
-1 (veto), since it is a clear violation of
http://www.ietf.org/rfc/rfc2145.txt
and the intent of HTTP versions.
....Roy