[Web-SIG] about Py[Type]_Check in a WSGI implementation
manlio_perillo at libero.it
Fri Oct 19 21:43:39 CEST 2007
Ian Bicking ha scritto:
> Manlio Perillo wrote:
>> The WSGI spec requires the response headers and sequence items to be,
>> respectively, List of Tuples and Strings.
>> However only for the response headers it explicitly requires them to
>> be a Python List, i.e type(response_headers) is ListType.
>> What about the other objects?
>> In the current implementation of WSGI for Nginx I always use
>> Py[Type]_Check, and not Py[Type]_CheckExact.
> All of the types are required to be exactly as defined, not subclasses
> or None. But servers are not required to actually test this.
> wsgiref.validate does test for exactly these types, but it's acceptable
> for Nginx to just access the data without checking its exact type.
However it is not a problem to use Py[Type]_Check instead of
Py[Type]_CheckExact (and it should not be slower), so if the types are
required to be exactly as defined I think it is better to do the exact
In mod_wsgi for Nginx I'm doing a lot of checks (as an example I even
check if the write callable is called from within application iterable)
More information about the Web-SIG