Skip to content

Instantly share code, notes, and snippets.

@andrew-d
Created December 12, 2012 19:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save andrew-d/4270842 to your computer and use it in GitHub Desktop.
Save andrew-d/4270842 to your computer and use it in GitHub Desktop.
Threaded or forking HTTP server in Python
#!/usr/bin/env python
import sys
from SocketServer import ThreadingMixIn, ForkingMixIn
from BaseHTTPServer import HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
class ThreadingSimpleServer(ThreadingMixIn, HTTPServer):
pass
class ForkingSimpleServer(ForkingMixIn, HTTPServer):
pass
if len(sys.argv) > 1:
port = int(sys.argv[1])
else:
port = 8000
server = ThreadingSimpleServer(('', port), SimpleHTTPRequestHandler)
# server = ForkingSimpleServer(('', port), SimpleHTTPRequestHandler)
addr, port = server.server_address
print("Serving HTTP on %s port %d ..." % (addr, port))
try:
while 1:
sys.stdout.flush()
server.handle_request()
except KeyboardInterrupt:
print "Finished"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment