Skip to content

Instantly share code, notes, and snippets.

@techforum-repo
Forked from razor-x/server.py
Last active April 20, 2023 17:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save techforum-repo/2c6aaf3096607d7a5e7e9deac0e6869b to your computer and use it in GitHub Desktop.
Save techforum-repo/2c6aaf3096607d7a5e7e9deac0e6869b to your computer and use it in GitHub Desktop.
Python http.server that sets Access-Control-Allow-Origin header.
import os
import sys
import http.server
import socketserver
PORT = 8000
class HTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
def end_headers(self):
self.send_header('Access-Control-Allow-Origin', '*')
self.send_header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
self.send_header('Access-Control-Allow-Headers', 'Content-Type')
http.server.SimpleHTTPRequestHandler.end_headers(self)
def do_OPTIONS(self):
self.send_response(200)
self.end_headers()
def server(port):
httpd = socketserver.TCPServer(('', port), HTTPRequestHandler)
return httpd
if __name__ == "__main__":
port = PORT
httpd = server(port)
try:
os.chdir('.')
print("\nserving from data/ at localhost:" + str(port))
httpd.serve_forever()
except KeyboardInterrupt:
print("\n...shutting down http server")
httpd.shutdown()
sys.exit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment