Skip to content

Instantly share code, notes, and snippets.

@bf4648
Created October 27, 2023 18:57
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 bf4648/de136593e71e8944f62c40d2935022e9 to your computer and use it in GitHub Desktop.
Save bf4648/de136593e71e8944f62c40d2935022e9 to your computer and use it in GitHub Desktop.
Create a quick file server
import os
import sys
from http.server import SimpleHTTPRequestHandler, HTTPServer
class CustomHandler(SimpleHTTPRequestHandler):
def guess_type(self, path):
if path.endswith(('.js', '.ts', '.html', '.css', '.json', '.log', '.py', '.txt', '.jsx', '.tsx')):
return 'text/plain; charset=utf-8'
return SimpleHTTPRequestHandler.guess_type(self, path)
def run(server_class=HTTPServer, handler_class=CustomHandler, directory=None, port=8000):
server_address = ('', port)
httpd = server_class(server_address, handler_class)
if directory:
os.chdir(directory)
print(f'Server running at http://localhost:{port}/ serving {directory or os.getcwd()}')
httpd.serve_forever()
if __name__ == '__main__':
directory = sys.argv[1] if len(sys.argv) > 1 else None
port = int(sys.argv[2]) if len(sys.argv) > 2 else 8000
run(directory=directory, port=port)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment