[Web-SIG] HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH

Manlio Perillo manlio_perillo at libero.it
Wed Dec 12 21:22:08 CET 2007


Ian Bicking ha scritto:
> Manlio Perillo wrote:
>> Hi.
>>
>> The CGI spec says:
>> """Servers are not required to create metavariables for all the 
>> request header fields that they receive. In particular, they MAY 
>> decline to make available any header fields carrying authentication 
>> information, such as "Authorization", or which are available to the 
>> script via other metavariables, such as "Content-Length" and 
>> "Content-Type"."""
>>
>>
>> However wsgiref.validate raises an exception:
>> AssertionError: Environment should not have the key: HTTP_CONTENT_TYPE 
>> (use CONTENT_TYPE instead)
>>
>>
>> Why don't just raise a warning?
> 
> It's the sign of some ambiguity; the Content-Type header should be 
> CONTENT_TYPE, and Content-Length should be CONTENT_LENGTH.  If they show 
> up as HTTP_CONTENT_TYPE etc then something weird happened; probably code 
> that didn't take these special-case headers into account.
> 

Well, its nothing weird.

The gateway is not required to remove HTTP_CONTENT_TYPE and 
HTTP_CONTENT_LENGTH;
at least this is what CGI says (and WSGI says nothing about this).

In fact in mod_wsgi for Nginx I don't remove these two variables, since 
it requires extra code (but I will remove them, if there is a good 
reason for doing so).



Thanks  Manlio perillo



More information about the Web-SIG mailing list