diff options
| author | Gael Pasgrimaud <gael@gawel.org> | 2014-04-17 18:31:39 +0200 |
|---|---|---|
| committer | Gael Pasgrimaud <gael@gawel.org> | 2014-04-17 18:31:39 +0200 |
| commit | d055b1fca818cc270e729f0e8f58bc2902392321 (patch) | |
| tree | 7a3dbf9b340a7135f0c5597c0dfc183d65326a40 /webtest | |
| parent | cd44e874224879a78dd0209b77f8bfd7222ac5da (diff) | |
| download | webtest-d055b1fca818cc270e729f0e8f58bc2902392321.tar.gz | |
Fixed #84 Application cookies for localhost are no longer ignored
Diffstat (limited to 'webtest')
| -rw-r--r-- | webtest/app.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/webtest/app.py b/webtest/app.py index d0b8abb..b57814a 100644 --- a/webtest/app.py +++ b/webtest/app.py @@ -63,6 +63,23 @@ class AppError(Exception): Exception.__init__(self, message) +class CookiePolicy(http_cookiejar.DefaultCookiePolicy): + """A subclass of DefaultCookiePolicy to allow cookie set for + Domain=localhost.""" + + def return_ok_domain(self, cookie, request): + if cookie.domain == '.localhost': + return True + return http_cookiejar.DefaultCookiePolicy.return_ok_domain( + self, cookie, request) + + def set_ok_domain(self, cookie, request): + if cookie.domain == '.localhost': + return True + return http_cookiejar.DefaultCookiePolicy.set_ok_domain( + self, cookie, request) + + class TestRequest(webob.BaseRequest): """A subclass of webob.Request""" ResponseClass = TestResponse @@ -153,7 +170,8 @@ class TestApp(object): extra_environ = {} self.extra_environ = extra_environ self.use_unicode = use_unicode - self.cookiejar = cookiejar or http_cookiejar.CookieJar() + self.cookiejar = cookiejar or http_cookiejar.CookieJar( + policy=CookiePolicy()) if parser_features is None: parser_features = 'html.parser' self.RequestClass.ResponseClass.parser_features = parser_features |
