Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(328)

Unified Diff: net/tools/testserver/testserver.py

Issue 17009: Fix the test server to be smarter about when to... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/testserver/testserver.py
===================================================================
--- net/tools/testserver/testserver.py (revision 7487)
+++ net/tools/testserver/testserver.py (working copy)
@@ -109,6 +109,16 @@
BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, request, client_address, socket_server)
+ def _ShouldHandleRequest(self, handler_name):
+ """Determines if the path can be handled by the handler.
+
+ We consider a handler valid if the path begins with the
+ handler name. It can optionally be followed by "?*", "/*".
+ """
+
+ pattern = re.compile('%s($|\?|/).*' % handler_name)
+ return pattern.match(self.path)
+
def GetMIMETypeFromName(self, file_name):
"""Returns the mime type for the specified file_name. So far it only looks
at the file extension."""
@@ -140,7 +150,7 @@
"""This request handler yields a page with the title set to the current
system time, and no caching requested."""
- if (self.path.find("/nocachetime/maxage") != 0):
+ if not self._ShouldHandleRequest("/nocachetime/maxage"):
return False
self.send_response(200)
@@ -156,7 +166,7 @@
"""This request handler yields a page with the title set to the current
system time, and no caching requested."""
- if (self.path.find("/nocachetime") != 0):
+ if not self._ShouldHandleRequest("/nocachetime"):
return False
self.send_response(200)
@@ -172,7 +182,7 @@
"""This request handler yields a page with the title set to the current
system time, and allows caching for one minute."""
- if self.path.find("/cachetime") != 0:
+ if not self._ShouldHandleRequest("/cachetime"):
return False
self.send_response(200)
@@ -188,7 +198,7 @@
"""This request handler yields a page with the title set to the current
system time, and set the page to expire on 1 Jan 2099."""
- if (self.path.find("/cache/expires") != 0):
+ if not self._ShouldHandleRequest("/cache/expires"):
return False
self.send_response(200)
@@ -204,7 +214,7 @@
"""This request handler yields a page with the title set to the current
system time, and allows caching for 60 seconds"""
- if (self.path.find("/cache/proxy-revalidate") != 0):
+ if not self._ShouldHandleRequest("/cache/proxy-revalidate"):
return False
self.send_response(200)
@@ -220,7 +230,7 @@
"""This request handler yields a page with the title set to the current
system time, and allows caching for 5 seconds."""
- if (self.path.find("/cache/private") != 0):
+ if not self._ShouldHandleRequest("/cache/private"):
return False
self.send_response(200)
@@ -236,7 +246,7 @@
"""This request handler yields a page with the title set to the current
system time, and allows caching for 5 seconds."""
- if (self.path.find("/cache/public") != 0):
+ if not self._ShouldHandleRequest("/cache/public"):
return False
self.send_response(200)
@@ -252,7 +262,7 @@
"""This request handler yields a page with the title set to the current
system time, and does not allow for caching."""
- if (self.path.find("/cache/s-maxage") != 0):
+ if not self._ShouldHandleRequest("/cache/s-maxage"):
return False
self.send_response(200)
@@ -268,7 +278,7 @@
"""This request handler yields a page with the title set to the current
system time, and does not allow caching."""
- if (self.path.find("/cache/must-revalidate") != 0):
+ if not self._ShouldHandleRequest("/cache/must-revalidate"):
return False
self.send_response(200)
@@ -285,7 +295,7 @@
system time, and does not allow caching event though max-age of 60
seconds is specified."""
- if (self.path.find("/cache/must-revalidate/max-age") != 0):
+ if not self._ShouldHandleRequest("/cache/must-revalidate/max-age"):
return False
self.send_response(200)
@@ -297,12 +307,11 @@
return True
-
def CacheNoStoreHandler(self):
"""This request handler yields a page with the title set to the current
system time, and does not allow the page to be stored."""
- if (self.path.find("/cache/no-store") != 0):
+ if not self._ShouldHandleRequest("/cache/no-store"):
return False
self.send_response(200)
@@ -319,7 +328,7 @@
system time, and does not allow the page to be stored even though max-age
of 60 seconds is specified."""
- if (self.path.find("/cache/no-store/max-age") != 0):
+ if not self._ShouldHandleRequest("/cache/no-store/max-age"):
return False
self.send_response(200)
@@ -337,7 +346,7 @@
system time, and does not allow the content to transformed during
user-agent caching"""
- if (self.path.find("/cache/no-transform") != 0):
+ if not self._ShouldHandleRequest("/cache/no-transform"):
return False
self.send_response(200)
@@ -352,7 +361,7 @@
def EchoHeader(self):
"""This handler echoes back the value of a specific request header."""
- if self.path.find("/echoheader") != 0:
+ if not self._ShouldHandleRequest("/echoheader"):
return False
query_char = self.path.find('?')
@@ -377,7 +386,7 @@
"""This handler just echoes back the payload of the request, for testing
form submission."""
- if self.path.find("/echo") != 0:
+ if not self._ShouldHandleRequest("/echo"):
return False
self.send_response(200)
@@ -391,7 +400,7 @@
def EchoTitleHandler(self):
"""This handler is like Echo, but sets the page title to the request."""
- if self.path.find("/echotitle") != 0:
+ if not self._ShouldHandleRequest("/echotitle"):
return False
self.send_response(200)
@@ -408,7 +417,7 @@
"""This handler yields a (more) human-readable page listing information
about the request header & contents."""
- if self.path.find("/echoall") != 0:
+ if not self._ShouldHandleRequest("/echoall"):
return False
self.send_response(200)
@@ -481,7 +490,7 @@
def DownloadFinishHandler(self):
"""This handler just tells the server to finish the current download."""
- if not self.path.startswith("/download-finish"):
+ if not self._ShouldHandleRequest("/download-finish"):
return False
self.server.waitForDownload = False
@@ -616,7 +625,7 @@
"""This handler tests 'Basic' authentication. It just sends a page with
title 'user/pass' if you succeed."""
- if not self.path.startswith("/auth-basic"):
+ if not self._ShouldHandleRequest("/auth-basic"):
return False
username = userpass = password = b64str = ""
@@ -672,7 +681,7 @@
"""This handler tests 'Digest' authentication. It just sends a page with
title 'user/pass' if you succeed."""
- if not self.path.startswith("/auth-digest"):
+ if not self._ShouldHandleRequest("/auth-digest"):
return False
# Periodically generate a new nonce. Technically we should incorporate
@@ -760,7 +769,7 @@
def SlowServerHandler(self):
"""Wait for the user suggested time before responding. The syntax is
/slow?0.5 to wait for half a second."""
- if not self.path.startswith("/slow"):
+ if not self._ShouldHandleRequest("/slow"):
return False
query_char = self.path.find('?')
wait_sec = 1.0
@@ -780,7 +789,7 @@
"""Returns a string of html with the given content type. E.g.,
/contenttype?text/css returns an html file with the Content-Type
header set to text/css."""
- if not self.path.startswith('/contenttype'):
+ if not self._ShouldHandleRequest("/contenttype"):
return False
query_char = self.path.find('?')
content_type = self.path[query_char + 1:].strip()
@@ -797,7 +806,7 @@
'/server-redirect?http://foo.bar/asdf' to redirect to 'http://foo.bar/asdf'"""
test_name = "/server-redirect"
- if not self.path.startswith(test_name):
+ if not self._ShouldHandleRequest(test_name):
return False
query_char = self.path.find('?')
@@ -820,7 +829,7 @@
'/client-redirect?http://foo.bar/asdf' to redirect to 'http://foo.bar/asdf'"""
test_name = "/client-redirect"
- if not self.path.startswith(test_name):
+ if not self._ShouldHandleRequest(test_name):
return False
query_char = self.path.find('?');
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698