From: Vinay Sajip Date: Fri, 20 May 2011 23:34:51 +0000 (+0100) Subject: Added SSL capability to TestHTTPServer. X-Git-Tag: v3.3.0a1~2216 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=32565b6c02e9673f9f9368f233e862dfc8a702c9;p=python Added SSL capability to TestHTTPServer. --- diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 24a6149b84..09d28ebf36 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -810,7 +810,8 @@ if threading: :param poll_interval: The polling interval in seconds. :param log: Pass ``True`` to enable log messages. """ - def __init__(self, addr, handler, poll_interval=0.5, log=False): + def __init__(self, addr, handler, poll_interval=0.5, + log=False, sslctx=None): class DelegatingHTTPRequestHandler(BaseHTTPRequestHandler): def __getattr__(self, name, default=None): if name.startswith('do_'): @@ -826,6 +827,18 @@ if threading: self).log_message(format, *args) HTTPServer.__init__(self, addr, DelegatingHTTPRequestHandler) ControlMixin.__init__(self, handler, poll_interval) + self.sslctx = sslctx + + def get_request(self): + try: + sock, addr = self.socket.accept() + if self.sslctx: + sock = self.sslctx.wrap_socket(sock, server_side=True) + except socket.error as e: + # socket errors are silenced by the caller, print them here + sys.stderr.write("Got an error:\n%s\n" % e) + raise + return sock, addr class TestTCPServer(ControlMixin, ThreadingTCPServer): """