12345678910111213141516171819202122232425262728293031323334353637383940 |
- import threading
- class CORSWebServer(object):
- def __init__(self) -> None:
- self.thread = threading.Thread(target=self.serve)
- self.server = None
- def serve(self):
- outer = self
- from http.server import HTTPServer, SimpleHTTPRequestHandler, test
- class ClojureServer(HTTPServer):
- def __init__(self, *args, **kwargs):
- HTTPServer.__init__(self, *args, **kwargs)
- outer.server = self
- class CORSRequestHandler(SimpleHTTPRequestHandler):
- def end_headers(self):
- self.send_header("Access-Control-Allow-Origin", "*")
- SimpleHTTPRequestHandler.end_headers(self)
- test(CORSRequestHandler, ClojureServer)
- def start(self) -> None:
- self.thread.start()
- def stop(self) -> None:
- if self.running:
- self.server.shutdown()
- self.thread.join()
- @property
- def running(self) -> bool:
- return self.server is not None
- web_server = CORSWebServer()
|