???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................ó
¿ö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"    "	
(   t   __doc__t
   __future__R    R   R   R*   t
   raven.confR   t   raven.utils.compatR   R   t   raven.utils.ssl_match_hostnameR   R   t   TIMEOUTt   FalseR5   (    (    (    sA   /opt/alt/python27/lib/python2.7/site-packages/raven/utils/http.pyt   <module>   s   