summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2015-04-05 16:13:47 +0200
committerPeter Wu <peter@lekensteyn.nl>2015-04-05 16:23:21 +0200
commit2e2cd944a0b03ee5aab9cbca4f5d3f1d0c5448f9 (patch)
tree4717c8875aef902c684a459dcf25c237b120aa9c
parent272197e9ed176601166a6583bad8419ee226c835 (diff)
downloadsite-2e2cd944a0b03ee5aab9cbca4f5d3f1d0c5448f9.tar.gz
serve.py: set reuse_address
Otherwise you may get "Address already in use" errors.
-rwxr-xr-xserve.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/serve.py b/serve.py
index df0425c..b499164 100755
--- a/serve.py
+++ b/serve.py
@@ -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()