Re: [PATCH] http-backend: treat empty CONTENT_LENGTH as zero
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Sep 11, 2018, 04:29 UTC
- Message-ID
- <20180911042919.GE20518@aiede.svl.corp.google.com>
- In-Reply-To
- <xmqqo9d4r7j2.fsf@gitster-ct.c.googlers.com>
Junio C Hamano wrote:
> Jonathan Nieder <jrnieder@gmail.com> writes:
Show 5 quoted lines
>> RFC 3875 (the CGI specification) explains: >> >> The CONTENT_LENGTH variable contains the size of the message-body >> attached to the request, if any, in decimal number of octets. If no >> data is attached, then NULL (or unset).
[...]
Show 7 quoted lines
>> But that specification was written before HTTP/1.1 and chunked >> encoding. > > RFC 3875 is from October 2004, while RFC 2616 (HTTP/1.1) is from > June 1999; I presume that 3875 only writes down what has already > been an established practice and that is where the date discrepancy > comes from.
Yes, CGI 1.1 is from 1995. More details are at https://www.w3.org/CGI/.
[...]
Show 8 quoted lines
>> Fortunately, there's a way out. Use the HTTP_TRANSFER_ENCODING >> environment variable to distinguish the two cases. > > Cute. > > I'm anxious to learn how well this works in practice. Or is this a > trick you know somebody else's system already uses (in which case, > that's wonderful)?
Alas, I came up with it today so I don't know yet how well it will work in practice.
I can poke around a little tomorrow in Apache to sanity-check the approach. Results from anyone able to test using various HTTP servers (lighttpd, etc) would also be very welcome.
Thanks, Jonathan