| 118 | |
| 119 | |
| 120 | class HTTPSServerThread(threading.Thread): |
| 121 | |
| 122 | def __init__(self, context, host=HOST, handler_class=None): |
| 123 | self.flag = None |
| 124 | self.server = HTTPSServer((host, 0), |
| 125 | handler_class or RootedHTTPRequestHandler, |
| 126 | context) |
| 127 | self.port = self.server.server_port |
| 128 | threading.Thread.__init__(self) |
| 129 | self.daemon = True |
| 130 | |
| 131 | def __str__(self): |
| 132 | return "<%s %s>" % (self.__class__.__name__, self.server) |
| 133 | |
| 134 | def start(self, flag=None): |
| 135 | self.flag = flag |
| 136 | threading.Thread.start(self) |
| 137 | |
| 138 | def run(self): |
| 139 | if self.flag: |
| 140 | self.flag.set() |
| 141 | try: |
| 142 | self.server.serve_forever(0.05) |
| 143 | finally: |
| 144 | self.server.server_close() |
| 145 | |
| 146 | def stop(self): |
| 147 | self.server.shutdown() |
| 148 | |
| 149 | |
| 150 | def make_https_server(case, *, context=None, certfile=CERTFILE, |
no outgoing calls
no test coverage detected
searching dependent graphs…