diff options
| author | Sergey Shepelev <temotor@gmail.com> | 2015-03-29 15:27:40 +0300 |
|---|---|---|
| committer | Sergey Shepelev <temotor@gmail.com> | 2015-03-29 15:27:40 +0300 |
| commit | b2e5146dec8f6fe075884dcf788f64a16bc3fec3 (patch) | |
| tree | a9f1798d42c8603184645193a30eaa23ccef4682 | |
| parent | ee9bcc36be28c7be57b8380e508bc75f96e5c459 (diff) | |
| download | eventlet-gh-201-sslcontext.tar.gz | |
green.ssl: patch SSLContext.wrap_socketgh-201-sslcontext
https://github.com/eventlet/eventlet/issues/201
| -rw-r--r-- | eventlet/green/ssl.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/eventlet/green/ssl.py b/eventlet/green/ssl.py index fdd3a4e..f0cd2d2 100644 --- a/eventlet/green/ssl.py +++ b/eventlet/green/ssl.py @@ -3,6 +3,7 @@ __ssl = __import__('ssl') from eventlet.patcher import slurp_properties slurp_properties(__ssl, globals(), srckeys=dir(__ssl)) +import functools import sys import errno time = __import__('time') @@ -353,3 +354,14 @@ if hasattr(__ssl, 'sslwrap_simple'): ssl_version=PROTOCOL_SSLv23, ca_certs=None) return ssl_sock + + +if hasattr(__ssl, 'SSLContext'): + @functools.wraps(__ssl.SSLContext.wrap_socket) + def _green_sslcontext_wrap_socket(self, sock, *a, **kw): + return GreenSSLSocket(sock, *a, **kw) + + # FIXME: + # * GreenSSLContext akin to GreenSSLSocket + # * make ssl.create_default_context() use modified SSLContext from globals as usual + __ssl.SSLContext.wrap_socket = _green_sslcontext_wrap_socket |
