diff options
author | Peter Wu <peter@lekensteyn.nl> | 2015-04-05 16:13:47 +0200 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2015-04-05 16:23:21 +0200 |
commit | 2e2cd944a0b03ee5aab9cbca4f5d3f1d0c5448f9 (patch) | |
tree | 4717c8875aef902c684a459dcf25c237b120aa9c | |
parent | 272197e9ed176601166a6583bad8419ee226c835 (diff) | |
download | site-2e2cd944a0b03ee5aab9cbca4f5d3f1d0c5448f9.tar.gz |
serve.py: set reuse_address
Otherwise you may get "Address already in use" errors.
-rwxr-xr-x | serve.py | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -11,6 +11,13 @@ import sys PORT = 8000 if len(sys.argv) <= 1 else int(sys.argv[1]) HOST = "" if len(sys.argv) <= 2 else sys.argv[2] +class Server(socketserver.TCPServer): + def __init__(self, addr, handler): + self.allow_reuse_address = True + if ':' in addr[0]: + self.address_family = socket.AF_INET6 + super().__init__(addr, handler) + class Handler(SimpleHTTPRequestHandler): def send_response(self, code, message=None): # Grr, cannot use this in Python 2 as SimpleHTTPRequestHandler is not a @@ -19,7 +26,7 @@ class Handler(SimpleHTTPRequestHandler): SimpleHTTPRequestHandler.send_response(self, code, message) self.send_header('Cache-Control', 'no-cache') -httpd = socketserver.TCPServer((HOST, PORT), Handler) +httpd = Server((HOST, PORT), Handler) print("Serving at port %d" % PORT) httpd.serve_forever() |