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

Unified Diff: third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/server.py

Issue 2448913002: wptserve: Import the latest revision of wptserve-related files. (Closed)
Patch Set: Created 4 years, 2 months 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
Index: third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/server.py
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/server.py b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/server.py
index 78b982c49702bf3b546fa949cce70e93c044eef6..31929efd6e18937c10454cc68097e8c7ee627490 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/server.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/wptserve/server.py
@@ -1,7 +1,6 @@
import BaseHTTPServer
import errno
import os
-import re
import socket
from SocketServer import ThreadingMixIn
import ssl
@@ -12,12 +11,12 @@ import traceback
import types
import urlparse
-import routes as default_routes
-from logger import get_logger
-from request import Server, Request
-from response import Response
-from router import Router
-from utils import HTTPException
+from . import routes as default_routes
+from .logger import get_logger
+from .request import Server, Request
+from .response import Response
+from .router import Router
+from .utils import HTTPException
"""HTTP server designed for testing purposes.
@@ -183,12 +182,11 @@ class WebTestServer(ThreadingMixIn, BaseHTTPServer.HTTPServer):
server_side=True)
def handle_error(self, request, client_address):
- error = sys.exc_value
+ error = sys.exc_info()[1]
if ((isinstance(error, socket.error) and
isinstance(error.args, tuple) and
- error.args[0] in self.acceptable_errors)
- or
+ error.args[0] in self.acceptable_errors) or
(isinstance(error, IOError) and
error.errno in self.acceptable_errors)):
pass # remote hang up before the result is sent
@@ -233,6 +231,13 @@ class WebTestRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
self.logger.debug("%s %s" % (request.method, request.request_path))
handler = self.server.router.get_handler(request)
+ # If the handler we used for the request had a non-default base path
+ # set update the doc_root of the request to reflect this
+ if hasattr(handler, "base_path") and handler.base_path:
+ request.doc_root = handler.base_path
+ if hasattr(handler, "url_base") and handler.url_base != "/":
+ request.url_base = handler.url_base
+
if self.server.latency is not None:
if callable(self.server.latency):
latency = self.server.latency()
@@ -275,7 +280,7 @@ class WebTestRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
# Ensure that the whole request has been read from the socket
request.raw_input.read()
- except socket.timeout, e:
+ except socket.timeout as e:
self.log_error("Request timed out: %r", e)
self.close_connection = True
return
@@ -412,7 +417,7 @@ class WebTestHttpd(object):
_host, self.port = self.httpd.socket.getsockname()
except Exception:
- self.logger.error('Init failed! You may need to modify your hosts file. Refer to README.md.');
+ self.logger.error('Init failed! You may need to modify your hosts file. Refer to README.md.')
raise
def start(self, block=False):

Powered by Google App Engine
This is Rietveld 408576698