MaterialXMaterials 0.0.3
Utilities for retrieving materials from remote servers
Loading...
Searching...
No Matches
myserver.py
1import http.server
2import socketserver
3import signal
4import argparse
5
6PORT = 8000
7
8class MyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
9 def end_headers(self):
10 self.send_header("Cache-Control", "no-cache, no-store, must-revalidate")
11 self.send_header("Pragma", "no-cache")
12 self.send_header("Expires", "0")
13 super().end_headers()
14
15def signal_handler(sig, frame):
16 print('Exiting server...')
17 httpd.server_close()
18 exit(0)
19
20def main():
21 # Get PORT argument
22 parser = argparse.ArgumentParser()
23 parser.add_argument("-p", "--port", default=8000, type=int, help="port number to listen on")
24 args = parser.parse_args()
25 if args.port:
26 PORT = args.port
27
28 signal.signal(signal.SIGINT, signal_handler)
29
30 print("Serving at port: ", PORT)
31 with socketserver.TCPServer(("", PORT), MyHTTPRequestHandler) as httpd:
32 try:
33 httpd.serve_forever()
34 except KeyboardInterrupt:
35 pass
36 httpd.server_close()
37
38if __name__ == "__main__":
39 main()