bpo-31639: Use threads in http.server module. (GH-5018)

This commit is contained in:
Julien Palard 2018-03-23 17:40:33 +01:00 committed by GitHub
parent a0a42d22d8
commit 8bcfa02e4b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 4 deletions

View file

@ -83,7 +83,7 @@ XXX To do:
__version__ = "0.6"
__all__ = [
"HTTPServer", "BaseHTTPRequestHandler",
"HTTPServer", "ThreadedHTTPServer", "BaseHTTPRequestHandler",
"SimpleHTTPRequestHandler", "CGIHTTPRequestHandler",
]
@ -140,6 +140,10 @@ class HTTPServer(socketserver.TCPServer):
self.server_port = port
class ThreadedHTTPServer(socketserver.ThreadingMixIn, HTTPServer):
daemon_threads = True
class BaseHTTPRequestHandler(socketserver.StreamRequestHandler):
"""HTTP request handler base class.
@ -1213,7 +1217,8 @@ class CGIHTTPRequestHandler(SimpleHTTPRequestHandler):
def test(HandlerClass=BaseHTTPRequestHandler,
ServerClass=HTTPServer, protocol="HTTP/1.0", port=8000, bind=""):
ServerClass=ThreadedHTTPServer,
protocol="HTTP/1.0", port=8000, bind=""):
"""Test the HTTP request handler class.
This runs an HTTP server on port 8000 (or the port argument).