Pylons / webtest

Wraps any WSGI application and makes it easy to send test requests to that application, without starting up an HTTP server.
https://docs.pylonsproject.org/projects/webtest/en/latest/
Other
335 stars 109 forks source link

Multiple cookies are not received by default/httplib and requests client #192

Open wosc opened 6 years ago

wosc commented 6 years ago

If the server sends multiple Set-Cookie headers, both the default and the requests client conflate those into one header-line, comma-separating the values -- which cookiejar cannot parse. Luckily, the urllib3 client keeps the headers as-is, so that it works in this case.

gawel commented 6 years ago

I guess you're referring to WSGIProxy2 ? That's weird since requests use urllib3

wosc commented 6 years ago

Hrm, it's a mix-up between wsgiproxy and webtest, I think. For which actually requests is the perfect example, as they behave really sneaky regarding cookies: for their own cookie-handling they send off the urllib3 Response object (which has individual set-cookie headers) to the cookiejar, before wrapping it in their own requests Response object (which then conflates them) -- which doesn't work for webtest, since that operates on the completed Response object of the client: https://github.com/Pylons/webtest/blob/master/webtest/app.py#L659