Skip to content

Instantly share code, notes, and snippets.

@g10guang
Last active August 20, 2018 11:55
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 g10guang/b41c4c048425b59a42faa30d49b46325 to your computer and use it in GitHub Desktop.
Save g10guang/b41c4c048425b59a42faa30d49b46325 to your computer and use it in GitHub Desktop.
Python3 HTTP/1.1 multithread server
from http.server import HTTPServer, BaseHTTPRequestHandler
from socketserver import ThreadingMixIn
class Handler(BaseHTTPRequestHandler):
protocol_version = 'HTTP/1.1'
def do_GET(self):
rsp = b'GET'
self.send_response(200)
self.send_header('Content-Length', len(rsp))
self.end_headers()
self.wfile.write(rsp)
def do_POST(self):
content_length = int(self.headers['Content-Length'])
body = self.rfile.read(content_length)
rsp = b'POST'
self.send_response(200)
self.send_header('Content-Length', len(rsp))
self.end_headers()
self.wfile.write(rsp)
return
class ThreadingSimpleServer(ThreadingMixIn, HTTPServer):
pass
def run():
server = ThreadingSimpleServer(('0.0.0.0', 4440), Handler)
server.serve_forever()
if __name__ == '__main__':
run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment