Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib/python3.5/site-packages/raven/utils/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/raven/utils/__pycache__/http.cpython-35.pyc



��Y��@s�dZddlmZddlZddlZddlZddlmZddlm	Z	m
Z
ddlmZdej
ddddd	�ZdS)
z�
raven.utils.http
~~~~~~~~~~~~~~~~

:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
�)�absolute_importN)�defaults)�urllib2�httplib)�match_hostnameFc
s�G��fdd�dtj��G�fdd�dtj�}|rS|g}n:ytjdtj��g}Wntk
r�g}YnXtj|�}tj	dkr�t
j�}	t
j|�z|j
||�SWdt
j|	�X|j
|||�S)	Ncs:eZdZejZdd�Z��fdd�ZdS)z%urlopen.<locals>.ValidHTTPSConnectionc_stjj|||�dS)N)r�HTTPConnection�__init__)�self�args�kwargs�r�A/opt/alt/python35/lib/python3.5/site-packages/raven/utils/http.pyrsz.urlopen.<locals>.ValidHTTPSConnection.__init__cs�tjd|j|jfd|j�}|jrC||_|j�tj	|d�dtj
�|_�dk	r�t|jj�|j
p�|j�dS)N�address�timeout�ca_certsZ	cert_reqs)�socket�create_connection�host�portrZ_tunnel_host�sockZ_tunnel�sslZwrap_socketZ
CERT_REQUIREDrZgetpeercert�assert_hostname)r	r)rrrr
�connects			
z-urlopen.<locals>.ValidHTTPSConnection.connectN)�__name__�
__module__�__qualname__rZ
HTTPS_PORTZdefault_portrrr)rrrr
�ValidHTTPSConnections	rcs"eZdZ�fdd�ZdS)z"urlopen.<locals>.ValidHTTPSHandlercs|j�|�S)N)Zdo_open)r	�req)rrr
�
https_open-sz-urlopen.<locals>.ValidHTTPSHandler.https_openN)rrrrr)rrr
�ValidHTTPSHandler,sr�context��)r!r")rrr�HTTPSHandlerrZ_create_unverified_context�AttributeError�build_opener�sys�version_infor�getdefaulttimeout�setdefaulttimeout�open)
�url�datarrZ
verify_sslrr�handlers�openerZdefault_timeoutr)rrrr
�urlopens""	

r/)�__doc__�
__future__rrrr&Z
raven.confrZraven.utils.compatrrZraven.utils.ssl_match_hostnamerZTIMEOUTr/rrrr
�<module>s