3 files changed
+16
-16
lines changedLines changed: 10 additions & 12 deletions
<
8000
table aria-label="Diff for: Lib/http/server.py" class="tab-size width-full DiffLines-module__tableLayoutFixed--ZmaVx" data-diff-anchor="diff-10e6db6c775e351ba2b55c4ad5e177191afe25d4942d1d2162d6e10505788a81" data-tab-size="8" data-paste-markdown-skip="true" role="grid" style="--line-number-cell-width:52px;--line-number-cell-width-unified:104px">Original file line number Diff line number Diff line change
@@ -132,10 +132,9 @@ def finish_request(self, request, client_address):
132
132
"""Finish one request by instantiating RequestHandlerClass."""
133
133
args = (request, client_address, self)
134
134
kwargs = {}
135
- response_headers = getattr(self, 'response_headers', None)
136
- if response_headers:
135
+ if hasattr(self, 'response_headers'):
137
136
kwargs['response_headers'] = self.response_headers
138
- self.RequestHandlerClass(*args, **kwargs)
137
+ self.RequestHandlerClass(request, client_address, self, **kwargs)
139
138
140
139
class ThreadingHTTPServer(socketserver.ThreadingMixIn, HTTPServer):
141
140
daemon_threads = True
@@ -144,7 +143,7 @@ class ThreadingHTTPServer(socketserver.ThreadingMixIn, HTTPServer):
144
143
class HTTPSServer(HTTPServer):
145
144
def __init__(self, server_address, RequestHandlerClass,
146
145
bind_and_activate=True, *, certfile, keyfile=None,
147
- password=None, alpn_protocols=None, response_headers=None):
146
+ password=None, alpn_protocols=None, **http_server_kwargs):
148
147
try:
149
148
import ssl
150
149
except ImportError:
@@ -163,7 +162,7 @@ def __init__(self, server_address, RequestHandlerClass,
163
162
super().__init__(server_address,
164
163
RequestHandlerClass,
165
164
bind_and_activate,
166
- response_headers=response_headers)
165
+ **http_server_kwargs)
167
166
168
167
def server_activate(self):
169
168
"""Wrap the socket in SSLSocket."""
@@ -709,7 +708,7 @@ def __init__(self, *args, directory=None, response_headers=None, **kwargs):
709
708
if directory is None:
710
709
directory = os.getcwd()
711
710
self.directory = os.fspath(directory)
712
- self.response_headers = response_headers or {}
711
+ self.response_headers = response_headers
713
712
super().__init__(*args, **kwargs)
714
713
715
714
def do_GET(self):
@@ -991,7 +990,8 @@ def _get_best_family(*address):
991
990
def test(HandlerClass=BaseHTTPRequestHandler,
992
991
ServerClass=ThreadingHTTPServer,
993
992
protocol="HTTP/1.0", port=8000, bind=None,
994
- tls_cert=None, tls_key=None, tls_password=None, response_headers=None):
993
+ tls_cert=None, tls_key=None, tls_password=None,
994
+ response_headers=None):
995
995
"""Test the HTTP request handler class.
996
996
997
997
This runs an HTTP server on port 8000 (or the port argument).
@@ -1075,11 +1075,9 @@ def server_bind(self):
1075
1075
return super().server_bind()
1076
1076
1077
1077
def finish_request(self, request, client_address):
1078
- handler_args = (request, client_address, self)
1079
- handler_kwargs = dict(directory=args.directory)
1080
- if self.response_headers:
1081
- handler_kwargs['response_headers'] = self.response_headers
1082
- self.RequestHandlerClass(*handler_args, **handler_kwargs)
1078
+ self.RequestHandlerClass(request, client_address, self,
1079
+ directory=args.directory,
1080
+ response_headers=self.response_headers)
1083
1081
1084
1082
class HTTPDualStackServer(DualStackServerMixin, ThreadingHTTPServer):
1085
1083
pass
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
757 | 757 |
| |
758 | 758 |
| |
759 | 759 |
| |
760 |
| - | |
| 760 | + | |
761 | 761 |
| |
762 | 762 |
| |
763 | 763 |
| |
|
Lines changed: 5 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
94 | 94 |
| |
95 | 95 |
| |
96 | 96 |
| |
| 97 | + | |
97 | 98 |
| |
98 | 99 |
| |
99 | 100 |
| |
| |||
829 | 830 |
| |
830 | 831 |
| |
831 | 832 |
| |
832 |
| - | |
833 |
| - | |
834 |
| - | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
835 | 837 |
| |
836 | 838 |
| |
837 | 839 |
| |
|
0 commit comments