From dc63343d0a2ae147749d5201d9b05836d13b3a9f Mon Sep 17 00:00:00 2001 From: ccd0 Date: Sat, 1 Aug 2015 12:15:21 -0700 Subject: [PATCH] Use multiple threads in proxy server. --- tools/proxy.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/proxy.py b/tools/proxy.py index 0f0144d39..167dc61a6 100755 --- a/tools/proxy.py +++ b/tools/proxy.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -import http.server, http.client, sys, re +import http.server, http.client, socketserver, threading, sys, re proxyConfig = b'''function FindProxyForURL(url, host) { if (/^http:\/\/boards\.4chan\.org\//.test(url)) { @@ -43,6 +43,10 @@ class ExtensionReplacer(http.server.BaseHTTPRequestHandler): self.wfile.write(body) conn.close() +class ThreadedHTTPServer(socketserver.ThreadingMixIn, http.server.HTTPServer): + pass + port = int(sys.argv[1]) if 1 < len(sys.argv) else 8000 -httpd = http.server.HTTPServer(('localhost', port), ExtensionReplacer) -httpd.serve_forever() +server = ThreadedHTTPServer(('localhost', port), ExtensionReplacer) +thread = threading.Thread(target=server.serve_forever) +thread.start()