| Index: net/tools/testserver/testserver.py
|
| ===================================================================
|
| --- net/tools/testserver/testserver.py (revision 9641)
|
| +++ net/tools/testserver/testserver.py (working copy)
|
| @@ -77,6 +77,7 @@
|
| def __init__(self, request, client_address, socket_server):
|
| self._connect_handlers = [
|
| self.RedirectConnectHandler,
|
| + self.ServerAuthConnectHandler,
|
| self.DefaultConnectResponseHandler]
|
| self._get_handlers = [
|
| self.KillHandler,
|
| @@ -912,7 +913,22 @@
|
| self.end_headers()
|
| return True
|
|
|
| + def ServerAuthConnectHandler(self):
|
| + """Sends a 401 to the CONNECT request for www.server-auth.com. This
|
| + response doesn't make sense because the proxy server cannot request
|
| + server authentication."""
|
|
|
| + if (self.path.find("www.server-auth.com") < 0):
|
| + return False
|
| +
|
| + challenge = 'Basic realm="WallyWorld"'
|
| +
|
| + self.send_response(401) # unauthorized
|
| + self.send_header('WWW-Authenticate', challenge)
|
| + self.send_header('Connection', 'close')
|
| + self.end_headers()
|
| + return True
|
| +
|
| def DefaultConnectResponseHandler(self):
|
| """This is the catch-all response handler for CONNECT requests that aren't
|
| handled by one of the special handlers above. Real Web servers respond
|
|
|