B Y@sjdZddlmZddlZddlZddlZddlmZddlm Z m Z ddl m Z dej dddfdd 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)urllib2httplib)match_hostnameFc sGfdddtjGfdddtj}|r:|g}n0ytjtdg}Wntk rhg}YnXtj|}tj dkrt } t |z | ||St | X| |||S)Ncs(eZdZejZddZfddZdS)z%urlopen..ValidHTTPSConnectionc_stjj|f||dS)N)rHTTPConnection__init__)selfargskwargsr A/opt/alt/python37/lib/python3.7/site-packages/raven/utils/http.pyrsz.urlopen..ValidHTTPSConnection.__init__csdtj|j|jf|jd}|jr,||_|tj |tj d|_dk r`t |j |j p\|jdS)N)addresstimeout)ca_certsZ cert_reqs)socketcreate_connectionhostportrZ _tunnel_hostsockZ_tunnelsslZ wrap_socketZ CERT_REQUIREDrZ getpeercertassert_hostname)r r)rrr r connects   z-urlopen..ValidHTTPSConnection.connectN)__name__ __module__ __qualname__rZ HTTPS_PORTZ default_portrrr )rrr r ValidHTTPSConnectionsrcseZdZfddZdS)z"urlopen..ValidHTTPSHandlercs ||S)N)Zdo_open)r req)rr r https_open-sz-urlopen..ValidHTTPSHandler.https_openN)rrrrr )rr r ValidHTTPSHandler,sr)context))rrrZ HTTPSHandlerrZ_create_unverified_contextAttributeErrorZ build_openersys version_inforgetdefaulttimeoutsetdefaulttimeoutopen) urldatarrZ verify_sslrrhandlersopenerZdefault_timeoutr )rrrr urlopens"      r-)__doc__ __future__rrrr$Z raven.confrZraven.utils.compatrrZraven.utils.ssl_match_hostnamerZTIMEOUTr-r r r r s