Re: [PATCH] http-backend: treat empty CONTENT_LENGTH as zero
- Date: Mon, 10 Sep 2018 21:29:19 -0700
- From: Jonathan Nieder <jrnieder@xxxxxxxxx>
- Subject: Re: [PATCH] http-backend: treat empty CONTENT_LENGTH as zero
Junio C Hamano wrote:
> Jonathan Nieder <jrnieder@xxxxxxxxx> writes:
>> 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).
>> But that specification was written before HTTP/1.1 and chunked
> 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
>> Fortunately, there's a way out. Use the HTTP_TRANSFER_ENCODING
>> environment variable to distinguish the two cases.
> 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.