| 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):
|
|
|