File: //opt/alt/python27/lib/python2.7/site-packages/raven/utils/http.pyc
�
��Yc           @@  s�   d  Z  d d l m Z d d l Z d d l Z d d l Z d d l m Z d d l m	 Z	 m
 Z
 d d l m Z d e j d e d d � Z d S(   s�   
raven.utils.http
~~~~~~~~~~~~~~~~
:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
i    (   t   absolute_importN(   t   defaults(   t   urllib2t   httplib(   t   match_hostnamec   
      @  s�   d t  j f � � f d �  �  Y�  d t j f �  f d �  �  Y} | rS | g } n9 y t j d t j �  � g } Wn t k
 r� g  } n Xt j | �  } t j	 d k  r� t
 j �  }	 t
 j | � z | j
 |  | � SWd  t
 j |	 � Xn  | j
 |  | | � S(	   Nt   ValidHTTPSConnectionc           @  s,   e  Z e j Z d  �  Z �  � f d �  Z RS(   c         _@  s   t  j j |  | | � d  S(   N(   R   t   HTTPConnectiont   __init__(   t   selft   argst   kwargs(    (    sA   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/http.pyR      s    c         @  s�   t  j d |  j |  j f d |  j � } |  j rF | |  _ |  j �  n  t j	 | d � d t j
 �|  _ �  d  k	 r� t |  j j
 �  |  j p� |  j � n  d  S(   Nt   addresst   timeoutt   ca_certst	   cert_reqs(   t   sockett   create_connectiont   hostt   portR   t   _tunnel_hostt   sockt   _tunnelt   sslt   wrap_sockett
   CERT_REQUIREDt   NoneR   t   getpeercertt   assert_hostname(   R   R   (   R   R
   (    sA   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/http.pyt   connect   s    			
(   t   __name__t
   __module__R   t
   HTTPS_PORTt   default_portR   R   (    (   R   R
   (    sA   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/http.pyR      s   		t   ValidHTTPSHandlerc           @  s   e  Z �  f d  �  Z RS(   c         @  s   |  j  �  | � S(   N(   t   do_open(   R   t   req(   R   (    sA   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/http.pyt
   https_open-   s    (   R   R   R$   (    (   R   (    sA   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/http.pyR!   ,   s   t   contexti   i   (   i   i   (   R   R   R   t   HTTPSHandlerR   t   _create_unverified_contextt   AttributeErrort   build_openert   syst   version_infoR   t   getdefaulttimeoutt   setdefaulttimeoutt   open(
   t   urlt   dataR   R
   t
   verify_sslR   R!   t   handlerst   openert   default_timeout(    (   R   R   R
   sA   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/http.pyt   urlopen   s"