@@ -212,6 +212,10 @@ def _create_connection(self, req, *args, **kwargs):
212
212
raise NotImplementedError ()
213
213
214
214
215
+ _SSL_OP_NO_COMPRESSION = getattr (ssl , "OP_NO_COMPRESSION" , 0 )
216
+ _SSH_HAS_CREATE_DEFAULT_CONTEXT = hasattr (ssl , 'create_default_context' )
217
+
218
+
215
219
class TCPConnector (BaseConnector ):
216
220
"""TCP connector.
217
221
@@ -254,17 +258,17 @@ def ssl_context(self):
254
258
sslcontext = ssl .SSLContext (ssl .PROTOCOL_SSLv23 )
255
259
sslcontext .options |= ssl .OP_NO_SSLv2
256
260
sslcontext .options |= ssl .OP_NO_SSLv3
257
- sslcontext .options |= getattr ( ssl , "OP_NO_COMPRESSION" , 0 )
261
+ sslcontext .options |= _SSL_OP_NO_COMPRESSION
258
262
sslcontext .set_default_verify_paths ()
259
- elif hasattr ( ssl , 'create_default_context' ) :
263
+ elif _SSH_HAS_CREATE_DEFAULT_CONTEXT :
260
264
# Python 3.4+
261
265
sslcontext = ssl .create_default_context ()
262
266
else : # pragma: no cover
263
267
# Fallback for Python 3.3.
264
268
sslcontext = ssl .SSLContext (ssl .PROTOCOL_SSLv23 )
265
269
sslcontext .options |= ssl .OP_NO_SSLv2
266
270
sslcontext .options |= ssl .OP_NO_SSLv3
267
- sslcontext .options |= getattr ( ssl , "OP_NO_COMPRESSION" , 0 )
271
+ sslcontext .options |= _SSL_OP_NO_COMPRESSION
268
272
sslcontext .set_default_verify_paths ()
269
273
sslcontext .verify_mode = ssl .CERT_REQUIRED
270
274
self ._ssl_context = sslcontext
0 commit comments