Merge "Readded support for keep-alive (better performance)."
This commit is contained in:
commit
83979d6afa
|
@ -23,7 +23,7 @@ import os
|
|||
import threading
|
||||
|
||||
from django.core.handlers.wsgi import WSGIHandler
|
||||
from django.core.servers.basehttp import ServerHandler as BaseServerHandler, ThreadedWSGIServer, WSGIRequestHandler
|
||||
from django.core.servers.basehttp import ThreadedWSGIServer, WSGIRequestHandler
|
||||
|
||||
from .http import AraHttpClient
|
||||
|
||||
|
@ -60,34 +60,6 @@ class AraOfflineClient(AraHttpClient):
|
|||
raise self.server_thread.error
|
||||
|
||||
|
||||
class ServerHandler(BaseServerHandler):
|
||||
def cleanup_headers(self):
|
||||
super().cleanup_headers()
|
||||
self.headers["Connection"] = "close"
|
||||
|
||||
|
||||
class QuietWSGIRequestHandler(WSGIRequestHandler):
|
||||
def log_message(*args):
|
||||
pass
|
||||
|
||||
def handle(self):
|
||||
"""Copy of WSGIRequestHandler.handle() but with different ServerHandler"""
|
||||
self.raw_requestline = self.rfile.readline(65537)
|
||||
if len(self.raw_requestline) > 65536:
|
||||
self.requestline = ""
|
||||
self.request_version = ""
|
||||
self.command = ""
|
||||
self.send_error(414)
|
||||
return
|
||||
|
||||
if not self.parse_request(): # An error code has been sent, just exit
|
||||
return
|
||||
|
||||
handler = ServerHandler(self.rfile, self.wfile, self.get_stderr(), self.get_environ())
|
||||
handler.request_handler = self # backpointer for logging
|
||||
handler.run(self.server.get_app())
|
||||
|
||||
|
||||
class ServerThread(threading.Thread):
|
||||
def __init__(self, host, port=0):
|
||||
self.host = host
|
||||
|
@ -116,3 +88,8 @@ class ServerThread(threading.Thread):
|
|||
|
||||
def _create_server(self):
|
||||
return ThreadedWSGIServer((self.host, self.port), QuietWSGIRequestHandler, allow_reuse_address=False)
|
||||
|
||||
|
||||
class QuietWSGIRequestHandler(WSGIRequestHandler):
|
||||
def log_message(*args):
|
||||
pass
|
||||
|
|
Loading…
Reference in New Issue