@@ -1320,8 +1320,8 @@ def test(HandlerClass=BaseHTTPRequestHandler,
13201320 HandlerClass .protocol_version = protocol
13211321
13221322 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 )
13251325 else :
13261326 server = ServerClass (addr , HandlerClass )
13271327
@@ -1387,7 +1387,7 @@ def test(HandlerClass=BaseHTTPRequestHandler,
13871387 handler_class = SimpleHTTPRequestHandler
13881388
13891389 # ensure dual-stack is not disabled; ref #38907
1390- class DualStackServer ( ThreadingHTTPServer ) :
1390+ class DualStackServerMixin :
13911391
13921392 def server_bind (self ):
13931393 # suppress exception when protocol is IPv4
@@ -1400,9 +1400,16 @@ def finish_request(self, request, client_address):
14001400 self .RequestHandlerClass (request , client_address , self ,
14011401 directory = args .directory )
14021402
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+
14031410 test (
14041411 HandlerClass = handler_class ,
1405- ServerClass = DualStackServer ,
1412+ ServerClass = ServerClass ,
14061413 port = args .port ,
14071414 bind = args .bind ,
14081415 protocol = args .protocol ,
0 commit comments