7b54539a05bbf97f0971d9e8a2f92dfba229697f
[integration/csit.git] / tests / dcaegen2 / prh-testcases / resources / simulator / httpServerLib.py
1 import _thread
2 import ssl
3 from http.server import HTTPServer
4
5
6 def header_200_and_json(self):
7     self.send_response(200)
8     self.send_header('Content-Type', 'application/json')
9     self.end_headers()
10
11
12 def start_http_endpoint(port, handler_class):
13     _thread.start_new_thread(init_http_endpoints, (port, handler_class))
14
15
16 def start_https_endpoint(port, handler_class, keyfile, certfile, ca_certs):
17     _thread.start_new_thread(init_https_endpoints, (port, handler_class, keyfile, certfile, ca_certs))
18
19
20 def init_http_endpoints(port, handler_class, server_class=HTTPServer):
21     server = server_class(('', port), handler_class)
22     sa = server.socket.getsockname()
23     print("Serving HTTP on", sa[0], "port", sa[1], "for", handler_class, "...")
24     server.serve_forever()
25
26
27 def init_https_endpoints(port, handler_class, keyfile, certfile, ca_certs, server_class=HTTPServer):
28     server = server_class(('', port), handler_class)
29     server.socket = ssl.wrap_socket(server.socket, keyfile=keyfile, certfile=certfile,
30                                     ca_certs=ca_certs, server_side=True)
31     sa = server.socket.getsockname()
32     print("Serving HTTPS on", sa[0], "port", sa[1], "for", handler_class, "...")
33     server.serve_forever()