o
    ­}”e©$  ã                   @  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jejdef ej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   ú[/Users/abhinavbhinder/Documents/map/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   ÚsuperÚ__init__)Úselfr   r   ©Ú	__class__r   r   r   "   ó   zPoolError.__init__Ú_TYPE_REDUCE_RESULTc                 C  s
   | j dfS )N)NNr    ©r   r   r   r   Ú
__reduce__&   s   
zPoolError.__reduce__)r   r   r   r   r   r   ©r   r#   ©r   r   r   r   r   r%   Ú__classcell__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 )ÚRequestErrorz8Base exception for PoolErrors that have associated URLs.r   r   Úurlr   r   r   r   c                   s   || _ tƒ  ||¡ d S ©N)r+   r   r   )r   r   r+   r   r    r   r   r   .   s   zRequestError.__init__r#   c                 C  s   | j d | jd ffS r,   )r!   r+   r$   r   r   r   r%   2   s   zRequestError.__reduce__)r   r   r+   r   r   r   r   r   r&   r'   r   r   r    r   r*   +   r)   r*   c                   @  r
   )ÚSSLErrorz9Raised when SSL certificate fails in an HTTPS connection.Nr   r   r   r   r   r-   7   r   r-   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   r0   )r   r   r1   r    r   r   r   A   s   
zProxyError.__init__)r   r   r1   r/   r   r   )r   r   r   r   Ú__annotations__r   r(   r   r   r    r   r.   ;   s   
 r.   c                   @  r
   )ÚDecodeErrorz;Raised when automatic decoding based on Content-Type fails.Nr   r   r   r   r   r3   F   r   r3   c                   @  r
   )ÚProtocolErrorz>Raised when something unexpected happens mid-request/response.Nr   r   r   r   r   r4   J   r   r4   c                      ó&   e Zd ZdZ	dd‡ f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 ú))r7   r   r   )r   r   r+   r7   r   r    r   r   r   `   s   zMaxRetryError.__init__r,   )r   r   r+   r   r7   r8   r   r   ©r   r   r   r   r   r(   r   r   r    r   r6   U   s    ÿr6   c                      r5   )Ú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   m   s   

zHostChangedError.__init__)r<   )r   r   r+   r   r=   r>   r   r   r:   r   r   r    r   r;   j   s    ÿr;   c                   @  r
   )ÚTimeoutStateErrorz1Raised when passing an invalid state to a timeoutNr   r   r   r   r   r?   u   r   r?   c                   @  r
   )ÚTimeoutErrorz¿Raised when a socket timeout error occurs.

    Catching this error will catch both :exc:`ReadTimeoutErrors
    <ReadTimeoutError>` and :exc:`ConnectTimeoutErrors <ConnectTimeoutError>`.
    Nr   r   r   r   r   r@   y   r   r@   c                   @  r
   )ÚReadTimeoutErrorzFRaised when a socket timeout occurs while receiving data from a serverNr   r   r   r   r   rA   �   r   rA   c                   @  r
   )ÚConnectTimeoutErrorz@Raised when a socket timeout occurs while connecting to a serverNr   r   r   r   r   rB   ‡   r   rB   c                      s0   e Zd ZdZd‡ f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   )rD   r   r   )r   rD   r   r    r   r   r   Ž   r"   zNewConnectionError.__init__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ÚDeprecationWarningrD   r$   r   r   r   r   ’   s   üzNewConnectionError.pool)rD   r   r   r   r   r   )r   r   )r   r   r   r   r   Úpropertyr   r(   r   r   r    r   rC   ‹   s
    rC   c                      ó"   e Zd ZdZd
‡ fdd	„Z‡  ZS )ÚNameResolutionErrorz'Raised when host name resolution fails.Úhostr   rD   r   r7   úsocket.gaierrorc                   s$   d|› d|› d�}t ƒ  ||¡ d S )NzFailed to resolve 'z' (r9   ©r   r   )r   rM   rD   r7   r   r    r   r   r   ¡   s   zNameResolutionError.__init__)rM   r   rD   r   r7   rN   r:   r   r   r    r   rL   ž   ó    rL   c                   @  r
   )ÚEmptyPoolErrorzCRaised when a pool runs out of connections and no more are allowed.Nr   r   r   r   r   rQ   ¦   r   rQ   c                   @  r
   )ÚFullPoolErrorzGRaised when we try to add a connection to a full pool in blocking mode.Nr   r   r   r   r   rR   ª   r   rR   c                   @  r
   )ÚClosedPoolErrorzCRaised when a request enters a pool after the pool has been closed.Nr   r   r   r   r   rS   ®   r   rS   c                   @  r
   )ÚLocationValueErrorz<Raised when there is something wrong with a given URL input.Nr   r   r   r   r   rT   ²   r   rT   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   rW   )r   rW   r   r    r   r   r   ¹   ó   

zLocationParseError.__init__)rW   r   r   r   r:   r   r   r    r   rV   ¶   rP   rV   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                   rX   )NzNot supported URL scheme )r   r   r[   ©r   r[   r   r    r   r   r   Ã   rY   zURLSchemeUnknown.__init__)r[   r   r:   r   r   r    r   rZ   À   rP   rZ   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   r]   Ê   s    r]   c                   @  r
   )ÚSecurityWarningz0Warned when performing security reducing actionsNr   r   r   r   r   r`   Ñ   r   r`   c                   @  r
   )ÚInsecureRequestWarningz/Warned when making an unverified HTTPS request.Nr   r   r   r   r   ra   Õ   r   ra   c                   @  r
   )ÚNotOpenSSLWarningz)Warned when using unsupported SSL libraryNr   r   r   r   r   rb   Ù   r   rb   c                   @  r
   )ÚSystemTimeWarningz0Warned when system time is suspected to be wrongNr   r   r   r   r   rc   Ý   r   rc   c                   @  r
   )ÚInsecurePlatformWarningzIWarned when certain TLS/SSL configuration is not available on a platform.Nr   r   r   r   r   rd   á   r   rd   c                   @  r
   )ÚDependencyWarningzc
    Warned when an attempt is made to import a module with missing optional
    dependencies.
    Nr   r   r   r   r   re   å   r   re   c                   @  r
   )ÚResponseNotChunkedz;Response needs to be chunked in order to read it as chunks.Nr   r   r   r   r   rf   ì   r   rf   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   rg   ð   r   rg   c                   @  s$   e Zd ZdZ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.
    ÚpartialÚintÚexpectedr   r   c                 C  s   || _ || _d S r,   ©rh   rj   )r   rh   rj   r   r   r   r   ÿ   s   
zIncompleteRead.__init__r   c                 C  ó   d| j | jf S )Nz/IncompleteRead(%i bytes read, %i more expected)rk   r$   r   r   r   Ú__repr__  ó   þzIncompleteRead.__repr__N)rh   ri   rj   ri   r   r   ©r   r   ©r   r   r   r   r   rm   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,   )Útellrh   Úlength_remainingrj   rr   rs   )r   rr   rs   r   r   r   r     s   

zInvalidChunkLength.__init__r   c                 C  rl   )Nz0InvalidChunkLength(got length %r, %i bytes read))rs   rh   r$   r   r   r   rm     rn   zInvalidChunkLength.__repr__N)rr   r   rs   rt   r   r   ro   rp   r   r   r   r   rq   
  s    
rq   c                   @  r
   )ÚInvalidHeaderz(The header provided was somehow invalid.Nr   r   r   r   r   rw     r   rw   c                      rU   )	Ú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://rO   r\   r    r   r   r   #  s   zProxySchemeUnknown.__init__)r[   ry   r   r   r:   r   r   r    r   rx     s    rx   c                   @  r
   )ÚProxySchemeUnsupportedz=Fetching HTTPS resources through HTTPS proxies is unsupportedNr   r   r   r   r   r{   /  r   r{   c                      rK   )Ú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: rO   )r   r}   r   r   r    r   r   r   6  s   zHeaderParsingError.__init__)r}   r~   r   r€   r   r   r:   r   r   r    r   r|   3  rP   r|   c                   @  r
   )ÚUnrewindableBodyErrorz9urllib3 encountered an error when trying to rewind a bodyNr   r   r   r   r   r‚   =  r   r‚   )AÚ
__future__r   ÚsocketÚtypingrG   Zemail.errorsr   Úhttp.clientr   Úhttplib_IncompleteReadÚTYPE_CHECKINGÚ
connectionr   Úconnectionpoolr   rr   r   Z
util.retryr	   r/   r   ÚWarningr   ÚTupleÚCallableÚobjectr#   r   r*   r-   r.   r3   r4   ÚConnectionErrorr6   r;   r?   r@   rA   rB   rC   rL   rQ   rR   rS   Ú
ValueErrorrT   rV   rZ   r]   r`   ra   rb   rc   rd   re   rf   rg   rq   rw   ÚAssertionErrorrx   r{   r|   r‚   r   r   r   r   Ú<module>   sj    ÿ


