@@ -1320,8 +1320,8 @@ def test(HandlerClass=BaseHTTPRequestHandler,
1320
1320
HandlerClass .protocol_version = protocol
1321
1321
1322
1322
if tls_cert :
1323
- server = ThreadingHTTPSServer (addr , HandlerClass , certfile = tls_cert ,
1324
- keyfile = tls_key , password = tls_password )
1323
+ server = ServerClass (addr , HandlerClass , certfile = tls_cert ,
1324
+ keyfile = tls_key , password = tls_password )
1325
1325
else :
1326
1326
server = ServerClass (addr , HandlerClass )
1327
1327
@@ -1387,7 +1387,7 @@ def test(HandlerClass=BaseHTTPRequestHandler,
1387
1387
handler_class = SimpleHTTPRequestHandler
1388
1388
1389
1389
# ensure dual-stack is not disabled; ref #38907
1390
- class DualStackServer ( ThreadingHTTPServer ) :
1390
+ class DualStackServerMixin :
1391
1391
1392
1392
def server_bind (self ):
1393
1393
# suppress exception when protocol is IPv4
@@ -1400,9 +1400,16 @@ def finish_request(self, request, client_address):
1400
1400
self .RequestHandlerClass (request , client_address , self ,
1401
1401
directory = args .directory )
1402
1402
1403
+ class HTTPDualStackServer (DualStackServerMixin , ThreadingHTTPServer ):
1404
+ pass
1405
+ class HTTPSDualStackServer (DualStackServerMixin , ThreadingHTTPSServer ):
1406
+ pass
1407
+
1408
+ ServerClass = HTTPSDualStackServer if args .tls_cert else HTTPDualStackServer
1409
+
1403
1410
test (
1404
1411
HandlerClass = handler_class ,
1405
- ServerClass = DualStackServer ,
1412
+ ServerClass = ServerClass ,
1406
1413
port = args .port ,
1407
1414
bind = args .bind ,
1408
1415
protocol = args .protocol ,
0 commit comments