wai dev's test: the stand-in room service listens without a reverse lookup #663
1 changed files with 10 additions and 1 deletions
|
|
@ -15,6 +15,7 @@ import json
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import socket
|
import socket
|
||||||
|
import socketserver
|
||||||
import sys
|
import sys
|
||||||
import threading
|
import threading
|
||||||
import time
|
import time
|
||||||
|
|
@ -55,6 +56,14 @@ class Room(http.server.BaseHTTPRequestHandler):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Server(http.server.ThreadingHTTPServer):
|
||||||
|
"""HTTPServer looks up a name for its address before it listens, and nothing here reads the
|
||||||
|
name. On some hosts that lookup takes 35 s, past what `wai dev` waits for a service."""
|
||||||
|
|
||||||
|
def server_bind(self):
|
||||||
|
socketserver.TCPServer.server_bind(self)
|
||||||
|
|
||||||
|
|
||||||
def main(argv):
|
def main(argv):
|
||||||
if argv[:1] in (["keygen"], ["relay-lines"]):
|
if argv[:1] in (["keygen"], ["relay-lines"]):
|
||||||
open(argv[1], "a").close()
|
open(argv[1], "a").close()
|
||||||
|
|
@ -73,7 +82,7 @@ def main(argv):
|
||||||
while True:
|
while True:
|
||||||
c, _ = s.accept()
|
c, _ = s.accept()
|
||||||
c.close()
|
c.close()
|
||||||
http.server.ThreadingHTTPServer(listen_addr(config, "listen"), Room).serve_forever()
|
Server(listen_addr(config, "listen"), Room).serve_forever()
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue