[Web-SIG] Re: Latest WSGI Draft (Phillip J. Eby)
Ian Bicking
ianb at colorstudy.com
Wed Aug 25 18:05:52 CEST 2004
tony at lownds.com wrote:
> It's a nice idea, and it would probably simplify both server and
> application code
> and the spec. But, it forces an implementation. I think inclusion in the
> PEP as a possible
> change before 1.0, will give the idea plenty of discussion time.
I agree, I don't think this need to be resolved before making it an
official PEP.
>
>> from email.Message import Message
>>
>> def application(env, start):
>> headers = Message()
>> headers.set_type("text/plain")
>> headers.add_header("Set-Cookie", "CUSTOMER=WILE_E_COYOTE",
>>path="/foobar")
>> start("200 OK", headers)("Hello world!")
>
>
> Just call the items() method, and WSGI remains the same
>
> start("200 OK", headers.items())("Hello world!")
>
>
>>One of the nice things about it is that it makes it easier to do MIME and
>>HTTP headers that have parameter info.
>>
>
>
> One issue: after the m.set_type call, an extra MIME-Version: 1.0 header is
> present.
> According to the HTTP 1.1 spec, when that header is present, whatever the
> server sends must be in "full compliance" with the MIME protocol. From
> reading the MIME spec, I guess adding Content-transfer-encoding: binary
> would take care of that...
Is it only after set_type then, not add_header('content-type',...)?
Adding that header implicitly is rather annoying.
It's too bad there's not a simpler superclass to email.Message that
implements just the header part, and not the email/MIME part.
--
Ian Bicking / ianb at colorstudy.com / http://blog.ianbicking.org
More information about the Web-SIG
mailing list