o
    {j6h&                     @  s  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	 ej
r9ddlmZ ddlmZ ddlmZ dd	lmZ G d
d deZG dd deZeejdef eedf f ZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ e Z!G dd deZ"G dd deZ#G dd  d eZ$G d!d" d"eZ%G d#d$ d$e%eZ&G d%d& d&e%Z'G d'd( d(e'eZ(G d)d* d*e(Z)G d+d, d,eZ*G d-d. d.eZ+G d/d0 d0eZ,G d1d2 d2e-eZ.G d3d4 d4e.Z/G d5d6 d6e.Z0G d7d8 d8eZ1G d9d: d:eZ2G d;d< d<e2Z3G d=d> d>e2Z4G d?d@ d@e2Z5G dAdB dBe2Z6G dCdD dDeZ7G dEdF dFe e-Z8G dGdH dHeZ9G dIdJ dJee	ZG dKdL dLee	Z:G dMdN dNeZ;G dOdP dPe<e0Z=G dQdR dRe-Z>G dSdT dTeZ?G dUdV dVeZ@dS )W    )annotationsN)MessageDefect)IncompleteRead   )HTTPConnection)ConnectionPool)HTTPResponse)Retryc                   @     e Zd ZdZdS )	HTTPErrorz#Base exception used by this module.N__name__
__module____qualname____doc__ r   r   a/var/www/html/chefvision.cloud.itp360.com/venv/lib/python3.10/site-packages/urllib3/exceptions.pyr          r   c                   @  r
   )HTTPWarningz!Base warning used by this module.Nr   r   r   r   r   r      r   r   .c                      s,   e Zd ZdZd fdd	ZdddZ  ZS )	PoolErrorz/Base exception for errors caused within a pool.poolr   messagestrreturnNonec                   &   || _ || _t | d|  d S Nz: )r   _messagesuper__init__)selfr   r   	__class__r   r   r          zPoolError.__init___TYPE_REDUCE_RESULTc                 C     | j d | jffS Nr"   r   r    r   r   r   
__reduce__%      zPoolError.__reduce__)r   r   r   r   r   r   r   r$   r   r   r   r   r   r)   __classcell__r   r   r!   r   r      s    r   c                      s,   e Zd ZdZd fd	d
ZdddZ  ZS )RequestErrorz8Base exception for PoolErrors that have associated URLs.r   r   urlr   r   r   r   c                   s   || _ t || d S r&   )r/   r   r   )r    r   r/   r   r!   r   r   r   -   s   zRequestError.__init__r$   c                 C     | j d | j| jffS r&   )r"   r/   r   r(   r   r   r   r)   1      zRequestError.__reduce__)r   r   r/   r   r   r   r   r   r+   r,   r   r   r!   r   r.   *   s    r.   c                   @  r
   )SSLErrorz9Raised when SSL certificate fails in an HTTPS connection.Nr   r   r   r   r   r2   6   r   r2   c                      s,   e Zd ZU dZded< d fd	d
Z  ZS )
ProxyErrorz,Raised when the connection to a proxy fails.	Exceptionoriginal_errorr   r   errorr   r   c                   s   t  || || _d S r&   )r   r   r5   )r    r   r6   r!   r   r   r   @   s   
zProxyError.__init__)r   r   r6   r4   r   r   )r   r   r   r   __annotations__r   r-   r   r   r!   r   r3   :   s   
 r3   c                   @  r
   )DecodeErrorz;Raised when automatic decoding based on Content-Type fails.Nr   r   r   r   r   r8   E   r   r8   c                   @  r
   )ProtocolErrorz>Raised when something unexpected happens mid-request/response.Nr   r   r   r   r   r9   I   r   r9   c                      s0   e Zd ZdZ	dd fddZdddZ  ZS )MaxRetryErrora  Raised when the maximum number of retries is exceeded.

    :param pool: The connection pool
    :type pool: :class:`~urllib3.connectionpool.HTTPConnectionPool`
    :param str url: The requested Url
    :param reason: The underlying error
    :type reason: :class:`Exception`

    Nr   r   r/   r   reasonException | Noner   r   c                   s,   || _ d| d|d}t ||| d S )NzMax retries exceeded with url: z (Caused by ))r;   r   r   )r    r   r/   r;   r   r!   r   r   r   _   s   zMaxRetryError.__init__r$   c                 C  r0   r&   )r"   r/   r;   r(   r   r   r   r)   h   r1   zMaxRetryError.__reduce__r&   )r   r   r/   r   r;   r<   r   r   r+   r,   r   r   r!   r   r:   T   s
    	r:   c                      s&   e Zd ZdZ	dd fddZ  ZS )HostChangedErrorz?Raised when an existing pool gets a request for a foreign host.   r   r   r/   r   retriesRetry | intr   r   c                   s$   d| }t  ||| || _d S )Nz'Tried to open a foreign host with url: )r   r   r@   )r    r   r/   r@   r   r!   r   r   r   p   s   

zHostChangedError.__init__)r?   )r   r   r/   r   r@   rA   r   r   r   r   r   r   r   r-   r   r   r!   r   r>   m   s    r>   c                   @  r
   )TimeoutStateErrorz1Raised when passing an invalid state to a timeoutNr   r   r   r   r   rC   x   r   rC   c                   @  r
   )TimeoutErrorzRaised when a socket timeout error occurs.

    Catching this error will catch both :exc:`ReadTimeoutErrors
    <ReadTimeoutError>` and :exc:`ConnectTimeoutErrors <ConnectTimeoutError>`.
    Nr   r   r   r   r   rD   |   r   rD   c                   @  r
   )ReadTimeoutErrorzFRaised when a socket timeout occurs while receiving data from a serverNr   r   r   r   r   rE      r   rE   c                   @  r
   )ConnectTimeoutErrorz@Raised when a socket timeout occurs while connecting to a serverNr   r   r   r   r   rF      r   rF   c                      s:   e Zd ZdZd fdd	ZdddZedddZ  ZS )NewConnectionErrorzHRaised when we fail to establish a new connection. Usually ECONNREFUSED.connr   r   r   r   r   c                   r   r   )rH   r   r   r   )r    rH   r   r!   r   r   r      r#   zNewConnectionError.__init__r$   c                 C  r%   r&   r'   r(   r   r   r   r)      r*   zNewConnectionError.__reduce__c                 C  s   t jdtdd | jS )Nz\The 'pool' property is deprecated and will be removed in urllib3 v2.1.0. Use 'conn' instead.   )
stacklevel)warningswarnDeprecationWarningrH   r(   r   r   r   r      s   zNewConnectionError.pool)rH   r   r   r   r   r   r+   )r   r   )	r   r   r   r   r   r)   propertyr   r-   r   r   r!   r   rG      s    
rG   c                      s,   e Zd ZdZd fdd	ZdddZ  ZS )NameResolutionErrorz'Raised when host name resolution fails.hostr   rH   r   r;   socket.gaierrorc                   s0   d| d| d}|| _ || _t || d S )NzFailed to resolve 'z' (r=   )_host_reasonr   r   )r    rP   rH   r;   r   r!   r   r   r      s   zNameResolutionError.__init__r   r$   c                 C  s   | j | jd | jffS r&   )r"   rR   rS   r(   r   r   r   r)      r1   zNameResolutionError.__reduce__)rP   r   rH   r   r;   rQ   r+   r,   r   r   r!   r   rO      s    rO   c                   @  r
   )EmptyPoolErrorzCRaised when a pool runs out of connections and no more are allowed.Nr   r   r   r   r   rT      r   rT   c                   @  r
   )FullPoolErrorzGRaised when we try to add a connection to a full pool in blocking mode.Nr   r   r   r   r   rU      r   rU   c                   @  r
   )ClosedPoolErrorzCRaised when a request enters a pool after the pool has been closed.Nr   r   r   r   r   rV      r   rV   c                   @  r
   )LocationValueErrorz<Raised when there is something wrong with a given URL input.Nr   r   r   r   r   rW      r   rW   c                      "   e Zd ZdZd fddZ  ZS )	LocationParseErrorz=Raised when get_host or similar fails to parse the URL input.locationr   r   r   c                       d| }t  | || _d S )NzFailed to parse: )r   r   rZ   )r    rZ   r   r!   r   r   r         

zLocationParseError.__init__)rZ   r   r   r   rB   r   r   r!   r   rY          rY   c                      s"   e Zd ZdZd fddZ  ZS )URLSchemeUnknownz2Raised when a URL input has an unsupported scheme.schemer   c                   r[   )NzNot supported URL scheme )r   r   r_   r    r_   r   r!   r   r   r      r\   zURLSchemeUnknown.__init__)r_   r   rB   r   r   r!   r   r^      r]   r^   c                   @  s   e Zd ZdZdZdZdS )ResponseErrorzDUsed as a container for an error reason supplied in a MaxRetryError.ztoo many error responsesz&too many {status_code} error responsesN)r   r   r   r   GENERIC_ERRORSPECIFIC_ERRORr   r   r   r   ra      s    ra   c                   @  r
   )SecurityWarningz0Warned when performing security reducing actionsNr   r   r   r   r   rd      r   rd   c                   @  r
   )InsecureRequestWarningz/Warned when making an unverified HTTPS request.Nr   r   r   r   r   re      r   re   c                   @  r
   )NotOpenSSLWarningz)Warned when using unsupported SSL libraryNr   r   r   r   r   rf      r   rf   c                   @  r
   )SystemTimeWarningz0Warned when system time is suspected to be wrongNr   r   r   r   r   rg      r   rg   c                   @  r
   )InsecurePlatformWarningzIWarned when certain TLS/SSL configuration is not available on a platform.Nr   r   r   r   r   rh      r   rh   c                   @  r
   )DependencyWarningzc
    Warned when an attempt is made to import a module with missing optional
    dependencies.
    Nr   r   r   r   r   ri      r   ri   c                   @  r
   )ResponseNotChunkedz;Response needs to be chunked in order to read it as chunks.Nr   r   r   r   r   rj      r   rj   c                   @  r
   )BodyNotHttplibCompatiblez
    Body should be :class:`http.client.HTTPResponse` like
    (have an fp attribute which returns raw chunks) for read_chunked().
    Nr   r   r   r   r   rk      r   rk   c                   @  s6   e Zd ZU dZded< ded< dddZdd
dZdS )r   z
    Response length doesn't match expected Content-Length

    Subclass of :class:`http.client.IncompleteRead` to allow int value
    for ``partial`` to avoid creating large objects on streamed reads.
    intpartialexpectedr   r   c                 C  s   || _ || _d S r&   rm   rn   )r    rm   rn   r   r   r   r     s   
zIncompleteRead.__init__r   c                 C     d| j | jf S )Nz/IncompleteRead(%i bytes read, %i more expected)ro   r(   r   r   r   __repr__     zIncompleteRead.__repr__N)rm   rl   rn   rl   r   r   r   r   )r   r   r   r   r7   r   rq   r   r   r   r   r     s   
 
r   c                   @  s$   e Zd ZdZddd	ZdddZdS )InvalidChunkLengthz+Invalid chunk length in a chunked response.responser   lengthbytesr   r   c                 C  s"   |  | _|j| _|| _|| _d S r&   )tellrm   length_remainingrn   ru   rv   )r    ru   rv   r   r   r   r     s   

zInvalidChunkLength.__init__r   c                 C  rp   )Nz0InvalidChunkLength(got length %r, %i bytes read))rv   rm   r(   r   r   r   rq   $  rr   zInvalidChunkLength.__repr__N)ru   r   rv   rw   r   r   rs   )r   r   r   r   r   rq   r   r   r   r   rt     s    
rt   c                   @  r
   )InvalidHeaderz(The header provided was somehow invalid.Nr   r   r   r   r   rz   +  r   rz   c                      rX   )	ProxySchemeUnknownz1ProxyManager does not support the supplied schemer_   
str | Noner   r   c                   s6   |dkrd }|d u rd}nd| d}t  | d S )N	localhostz>Proxy URL had no scheme, should start with http:// or https://z!Proxy URL had unsupported scheme z , should use http:// or https://r   r   r`   r!   r   r   r   4  s   zProxySchemeUnknown.__init__)r_   r|   r   r   rB   r   r   r!   r   r{   /  s    r{   c                   @  r
   )ProxySchemeUnsupportedz=Fetching HTTPS resources through HTTPS proxies is unsupportedNr   r   r   r   r   r   @  r   r   c                      s"   e Zd ZdZd
 fdd	Z  ZS )HeaderParsingErrorzNRaised by assert_header_parsing, but we convert it to a log.warning statement.defectslist[MessageDefect]unparsed_databytes | str | Noner   r   c                   s"   |pd d|}t  | d S )NUnknownz, unparsed data: r~   )r    r   r   r   r!   r   r   r   G  s   zHeaderParsingError.__init__)r   r   r   r   r   r   rB   r   r   r!   r   r   D  r]   r   c                   @  r
   )UnrewindableBodyErrorz9urllib3 encountered an error when trying to rewind a bodyNr   r   r   r   r   r   N  r   r   )A
__future__r   sockettypingrK   email.errorsr   http.clientr   httplib_IncompleteReadTYPE_CHECKING
connectionr   connectionpoolr   ru   r   
util.retryr	   r4   r   Warningr   tupleCallableobjectr$   r   r.   r2   r3   r8   r9   ConnectionErrorr:   r>   rC   rD   rE   rF   rG   rO   rT   rU   rV   
ValueErrorrW   rY   r^   ra   rd   re   rf   rg   rh   ri   rj   rk   rt   rz   AssertionErrorr{   r   r   r   r   r   r   r   <module>   sf    


