我们从Python开源项目中,提取了以下5个代码示例,用于说明如何使用gevent.socket.sslerror()。
def patch_socket(dns=True, aggressive=True): """Replace the standard socket object with gevent's cooperative sockets. If *dns* is true, also patch dns functions in :mod:`socket`. """ from gevent import socket _socket = __import__('socket') _socket.socket = socket.socket _socket.SocketType = socket.SocketType _socket.create_connection = socket.create_connection if hasattr(socket, 'socketpair'): _socket.socketpair = socket.socketpair if hasattr(socket, 'fromfd'): _socket.fromfd = socket.fromfd try: from gevent.socket import ssl, sslerror _socket.ssl = ssl _socket.sslerror = sslerror except ImportError: if aggressive: try: del _socket.ssl except AttributeError: pass if dns: patch_dns()
def patch_ssl(): patch_module('ssl') # On Python 2.5 we use an external 'ssl' module. On all # newer versions, the ssl module is builtin, and 'ssl.SSLError' *is* # 'socket.sslerror', but that's not the case with the external # module. Because our patched functions will raise ssl.SSLError, but # callers on 2.5 could only be expecting to catch 'socket.sslerror' # we make them the same. if version_info[:2] <= (2, 5): from gevent import ssl import socket saved['socket']['sslerror'] = socket.sslerror socket.sslerror = ssl.SSLError