(case, *, context=None, certfile=CERTFILE,
host=HOST, handler_class=None)
| 148 | |
| 149 | |
| 150 | def make_https_server(case, *, context=None, certfile=CERTFILE, |
| 151 | host=HOST, handler_class=None): |
| 152 | if context is None: |
| 153 | context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) |
| 154 | # We assume the certfile contains both private key and certificate |
| 155 | context.load_cert_chain(certfile) |
| 156 | server = HTTPSServerThread(context, host, handler_class) |
| 157 | flag = threading.Event() |
| 158 | server.start(flag) |
| 159 | flag.wait() |
| 160 | def cleanup(): |
| 161 | if support.verbose: |
| 162 | sys.stdout.write('stopping HTTPS server\n') |
| 163 | server.stop() |
| 164 | if support.verbose: |
| 165 | sys.stdout.write('joining HTTPS thread\n') |
| 166 | server.join() |
| 167 | case.addCleanup(cleanup) |
| 168 | return server |
| 169 | |
| 170 | |
| 171 | if __name__ == "__main__": |
searching dependent graphs…