diff options
Diffstat (limited to 'net/tools/testserver/testserver.py')
-rw-r--r-- | net/tools/testserver/testserver.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py index aeee5e2..065ea7b 100644 --- a/net/tools/testserver/testserver.py +++ b/net/tools/testserver/testserver.py @@ -117,6 +117,7 @@ class TestPageHandler(BaseHTTPServer.BaseHTTPRequestHandler): self.FileHandler, self.RealFileWithCommonHeaderHandler, self.RealBZ2FileWithCommonHeaderHandler, + self.SetCookieHandler, self.AuthBasicHandler, self.AuthDigestHandler, self.SlowServerHandler, @@ -699,6 +700,26 @@ class TestPageHandler(BaseHTTPServer.BaseHTTPRequestHandler): return True + def SetCookieHandler(self): + """This handler just sets a cookie, for testing cookie handling.""" + + if not self._ShouldHandleRequest("/set-cookie"): + return False + + query_char = self.path.find('?') + if query_char != -1: + cookie_values = self.path[query_char + 1:].split('&') + else: + cookie_values = ("",) + self.send_response(200) + self.send_header('Content-type', 'text/html') + for cookie_value in cookie_values: + self.send_header('Set-Cookie', '%s' % cookie_value) + self.end_headers() + for cookie_value in cookie_values: + self.wfile.write('%s' % cookie_value) + return True + def AuthBasicHandler(self): """This handler tests 'Basic' authentication. It just sends a page with title 'user/pass' if you succeed.""" |