ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
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   