Index: net/tools/testserver/testserver.py |
diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py |
index f9177897cc6e17b64a3fa075498365b96f0a7b81..f570ee3b11c930bd2846673e0edf06d58da59e26 100755 |
--- a/net/tools/testserver/testserver.py |
+++ b/net/tools/testserver/testserver.py |
@@ -908,9 +908,16 @@ class TestPageHandler(BasePageHandler): |
prefix = self.server.file_root_url |
if not self.path.startswith(prefix): |
return False |
+ post_prefix = urlparse.urljoin(self.server.file_root_url, 'post/') |
+ if self.path.startswith(post_prefix): |
+ self.send_response(404) |
+ self.send_header('Content-Length', 1) |
+ self.end_headers() |
+ self.wfile.write('') |
+ return True |
# Consume a request body if present. |
if self.command == 'POST' or self.command == 'PUT' : |
- self.ReadRequestBody() |
+ body = self.ReadRequestBody() |
return self._FileHandlerHelper(prefix) |
def PostOnlyFileHandler(self): |
@@ -918,7 +925,10 @@ class TestPageHandler(BasePageHandler): |
prefix = urlparse.urljoin(self.server.file_root_url, 'post/') |
if not self.path.startswith(prefix): |
return False |
- self.ReadRequestBody() |
+ body = self.ReadRequestBody() |
+ _, _, url_path, _, query_str, _ = urlparse.urlparse(self.path) |
+ if query_str == 'require_body_eq_path' and body != self.path: |
+ return False |
return self._FileHandlerHelper(prefix) |
def _FileHandlerHelper(self, prefix): |