<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    Y                 @   sj   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ddfdd	ZdS )
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 fdddt j G  fdddtj}|r:|g}n0ytjt dg}W n tk
rh   g }Y nX tj| }tj	dk rt
 }	t
| z|| |S t
|	 X || ||S )Nc                   s(   e Zd ZejZdd Z fddZdS )z%urlopen.<locals>.ValidHTTPSConnectionc             _   s   t jj| f|| d S )N)r   HTTPConnection__init__)selfargskwargs r   A/opt/alt/python37/lib/python3.7/site-packages/raven/utils/http.pyr      s    z.urlopen.<locals>.ValidHTTPSConnection.__init__c                sd   t j| j| jf| jd}| jr,|| _|   tj	|tj
d| _ d k	r`t| j | jp\| j d S )N)addresstimeout)ca_certsZ	cert_reqs)socketcreate_connectionhostportr   Z_tunnel_hostsockZ_tunnelsslZwrap_socketZCERT_REQUIREDr   Zgetpeercertassert_hostname)r	   r   )r   r   r   r   connect   s    


z-urlopen.<locals>.ValidHTTPSConnection.connectN)__name__
__module____qualname__r   Z
HTTPS_PORTZdefault_portr   r   r   )r   r   r   r   ValidHTTPSConnection   s   r   c                   s   e Zd Z fddZdS )z"urlopen.<locals>.ValidHTTPSHandlerc                s   |   |S )N)Zdo_open)r	   req)r   r   r   
https_open-   s    z-urlopen.<locals>.ValidHTTPSHandler.https_openN)r   r   r   r   r   )r   r   r   ValidHTTPSHandler,   s   r   )context)      )r   r   r   ZHTTPSHandlerr   Z_create_unverified_contextAttributeErrorZbuild_openersysversion_infor   getdefaulttimeoutsetdefaulttimeoutopen)
urldatar   r   Z
verify_sslr   r   handlersopenerZdefault_timeoutr   )r   r   r   r   urlopen   s"    



r-   )__doc__
__future__r   r   r   r$   Z
raven.confr   Zraven.utils.compatr   r   Zraven.utils.ssl_match_hostnamer   ZTIMEOUTr-   r   r   r   r   <module>   s   