Ë
    Eü´j™"  ã                  ó  — d Z ddlmZ ddlZddlZddlmZ ej                  rddlm	Z	m
Z
 g d¢Z G d„ d	e«      Z G d
„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d „ d!e«      Z G d"„ d#e«      Z G d$„ d%e«      Z G d&„ d'e«      Z G d(„ d)e«      Z G d*„ d+e«      Z G d,„ d-e«      Z  G d.„ d/e«      Z! G d0„ d1e«      Z" G d2„ d3e«      Z# G d4„ d5e«      Z$ G d6„ d7e«      Z% G d8„ d9e&«      Z' G d:„ d;e'«      Z( G d<„ d=e'«      Z) G d>„ d?e'«      Z* G d@„ dAe'«      Z+ejX                  dCdDdB„«       Z-y)Eul  
Our exception hierarchy:

* HTTPError
  x RequestError
    + TransportError
      - TimeoutException
        Â· ConnectTimeout
        Â· ReadTimeout
        Â· WriteTimeout
        Â· PoolTimeout
      - NetworkError
        Â· ConnectError
        Â· ReadError
        Â· WriteError
        Â· CloseError
      - ProtocolError
        Â· LocalProtocolError
        Â· RemoteProtocolError
      - ProxyError
      - UnsupportedProtocol
    + DecodingError
    + TooManyRedirects
  x HTTPStatusError
* InvalidURL
* CookieConflict
* StreamError
  x StreamConsumed
  x StreamClosed
  x ResponseNotRead
  x RequestNotRead
é    )ÚannotationsN)Ú	Generatoré   )ÚRequestÚResponse)Ú
CloseErrorÚConnectErrorÚConnectTimeoutÚCookieConflictÚDecodingErrorÚ	HTTPErrorÚHTTPStatusErrorÚ
InvalidURLÚLocalProtocolErrorÚNetworkErrorÚPoolTimeoutÚProtocolErrorÚ
ProxyErrorÚ	ReadErrorÚReadTimeoutÚRemoteProtocolErrorÚRequestErrorÚRequestNotReadÚResponseNotReadÚStreamClosedÚStreamConsumedÚStreamErrorÚTimeoutExceptionÚTooManyRedirectsÚTransportErrorÚUnsupportedProtocolÚ
WriteErrorÚWriteTimeoutc                  ó   — e Zd ZdZy)ÚHTTPXDeprecationWarninga_  A custom deprecation warning for HTTPX.

    Unlike the built-in `DeprecationWarning`, this inherits from `UserWarning` to ensure it is visible by default,
    helping users discover deprecated features without needing to enable warnings explicitly.

    Reference: https://sethmlarson.dev/deprecations-via-warnings-dont-work-for-python-libraries
    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úP/root/workspace/ytshorts/venv/lib/python3.12/site-packages/httpx2/_exceptions.pyr%   r%   K   ó   „ òr,   r%   c                  ó\   ‡ — e Zd ZdZdˆ fd„Zedd„«       Zej                  dd„«       Zˆ xZS )r   a”  
    Base class for `RequestError` and `HTTPStatusError`.

    Useful for `try...except` blocks when issuing a request,
    and then calling `.raise_for_status()`.

    For example:

    ```
    try:
        response = httpx2.get("https://www.example.com")
        response.raise_for_status()
    except httpx2.HTTPError as exc:
        print(f"HTTP Exception for {exc.request.url} - {exc}")
    ```
    c                ó2   •— t         ‰| �  |«       d | _        y ©N©ÚsuperÚ__init__Ú_request©ÚselfÚmessageÚ	__class__s     €r-   r4   zHTTPError.__init__g   s   ø€ Ü‰Ñ˜Ô!Ø(,ˆ�r,   c                óH   — | j                   €t        d«      ‚| j                   S )Nz'The .request property has not been set.)r5   ÚRuntimeError)r7   s    r-   ÚrequestzHTTPError.requestk   s"   € à�=‰=Ð ÜÐHÓIÐIØ�}‰}Ðr,   c                ó   — || _         y r1   )r5   )r7   r<   s     r-   r<   zHTTPError.requestq   s	   € àˆ�r,   ©r8   ÚstrÚreturnÚNone)r@   r   )r<   r   r@   rA   )	r'   r(   r)   r*   r4   Úpropertyr<   ÚsetterÚ__classcell__©r9   s   @r-   r   r   U   s9   ø„ ñõ"-ð òó ðð
 ‡^�^ò ó ô r,   r   c                  ó*   ‡ — e Zd ZdZddœdˆ fd„Zˆ xZS )r   zS
    Base class for all exceptions that may occur when issuing a `.request()`.
    N)r<   c               ó2   •— t         ‰| �  |«       || _        y r1   r2   )r7   r8   r<   r9   s      €r-   r4   zRequestError.__init__{   s   ø€ Ü‰Ñ˜Ô!ð  ˆ�r,   )r8   r?   r<   úRequest | Noner@   rA   ©r'   r(   r)   r*   r4   rD   rE   s   @r-   r   r   v   s   ø„ ñð CG÷  ó  r,   r   c                  ó   — e Zd ZdZy)r    zU
    Base class for all exceptions that occur at the level of the Transport API.
    Nr&   r+   r,   r-   r    r    †   ó   „ òr,   r    c                  ó   — e Zd ZdZy)r   zM
    The base class for timeout errors.

    An operation has timed out.
    Nr&   r+   r,   r-   r   r   �   ó   „ òr,   r   c                  ó   — e Zd ZdZy)r
   z1
    Timed out while connecting to the host.
    Nr&   r+   r,   r-   r
   r
   —   rK   r,   r
   c                  ó   — e Zd ZdZy)r   z7
    Timed out while receiving data from the host.
    Nr&   r+   r,   r-   r   r   �   rK   r,   r   c                  ó   — e Zd ZdZy)r#   z3
    Timed out while sending data to the host.
    Nr&   r+   r,   r-   r#   r#   £   rK   r,   r#   c                  ó   — e Zd ZdZy)r   zB
    Timed out waiting to acquire a connection from the pool.
    Nr&   r+   r,   r-   r   r   ©   rK   r,   r   c                  ó   — e Zd ZdZy)r   zo
    The base class for network-related errors.

    An error occurred while interacting with the network.
    Nr&   r+   r,   r-   r   r   ²   rM   r,   r   c                  ó   — e Zd ZdZy)r   z2
    Failed to receive data from the network.
    Nr&   r+   r,   r-   r   r   º   rK   r,   r   c                  ó   — e Zd ZdZy)r"   z2
    Failed to send data through the network.
    Nr&   r+   r,   r-   r"   r"   À   rK   r,   r"   c                  ó   — e Zd ZdZy)r	   z+
    Failed to establish a connection.
    Nr&   r+   r,   r-   r	   r	   Æ   rK   r,   r	   c                  ó   — e Zd ZdZy)r   z'
    Failed to close a connection.
    Nr&   r+   r,   r-   r   r   Ì   rK   r,   r   c                  ó   — e Zd ZdZy)r   zB
    An error occurred while establishing a proxy connection.
    Nr&   r+   r,   r-   r   r   Õ   rK   r,   r   c                  ó   — e Zd ZdZy)r!   z€
    Attempted to make a request to an unsupported protocol.

    For example issuing a request to `ftp://www.example.com`.
    Nr&   r+   r,   r-   r!   r!   Û   rM   r,   r!   c                  ó   — e Zd ZdZy)r   z$
    The protocol was violated.
    Nr&   r+   r,   r-   r   r   ã   rK   r,   r   c                  ó   — e Zd ZdZy)r   zæ
    A protocol was violated by the client.

    For example if the user instantiated a `Request` instance explicitly,
    failed to include the mandatory `Host:` header, and then issued it directly
    using `client.send()`.
    Nr&   r+   r,   r-   r   r   é   r.   r,   r   c                  ó   — e Zd ZdZy)r   z^
    The protocol was violated by the server.

    For example, returning malformed HTTP.
    Nr&   r+   r,   r-   r   r   ó   rM   r,   r   c                  ó   — e Zd ZdZy)r   zG
    Decoding of the response failed, due to a malformed encoding.
    Nr&   r+   r,   r-   r   r   þ   rK   r,   r   c                  ó   — e Zd ZdZy)r   z
    Too many redirects.
    Nr&   r+   r,   r-   r   r     rK   r,   r   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r   z|
    The response had an error HTTP status of 4xx or 5xx.

    May be raised when calling `response.raise_for_status()`
    c               ó@   •— t         ‰| �  |«       || _        || _        y r1   )r3   r4   r<   Úresponse)r7   r8   r<   r`   r9   s       €r-   r4   zHTTPStatusError.__init__  s   ø€ Ü‰Ñ˜Ô!ØˆŒØ ˆ�r,   )r8   r?   r<   r   r`   r   r@   rA   rI   rE   s   @r-   r   r     s   ø„ ñ÷!ñ !r,   r   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r   z7
    URL is improperly formed or cannot be parsed.
    c                ó$   •— t         ‰| �  |«       y r1   ©r3   r4   r6   s     €r-   r4   zInvalidURL.__init__  ó   ø€ Ü‰Ñ˜Õ!r,   r>   rI   rE   s   @r-   r   r     s   ø„ ñ÷"ñ "r,   r   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r   z†
    Attempted to lookup a cookie by name, but multiple cookies existed.

    Can occur when calling `response.cookies.get(...)`.
    c                ó$   •— t         ‰| �  |«       y r1   rc   r6   s     €r-   r4   zCookieConflict.__init__*  rd   r,   r>   rI   rE   s   @r-   r   r   #  s   ø„ ñ÷"ñ "r,   r   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r   z‡
    The base class for stream exceptions.

    The developer made an error in accessing the request stream in
    an invalid way.
    c                ó$   •— t         ‰| �  |«       y r1   rc   r6   s     €r-   r4   zStreamError.__init__<  rd   r,   r>   rI   rE   s   @r-   r   r   4  s   ø„ ñ÷"ñ "r,   r   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r   z]
    Attempted to read or stream content, but the content has already
    been streamed.
    c                ó(   •— d}t         ‰| �  |«       y )Na]  Attempted to read or stream some content, but the content has already been streamed. For requests, this could be due to passing a generator as request content, and then receiving a redirect response or a secondary request as part of an authentication flow.For responses, this could be due to attempting to stream the response content more than once.rc   r6   s     €r-   r4   zStreamConsumed.__init__F  s   ø€ ð&ð 	ô 	‰Ñ˜Õ!r,   ©r@   rA   rI   rE   s   @r-   r   r   @  s   ø„ ñ÷
	"ñ 	"r,   r   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r   z\
    Attempted to read or stream response content, but the request has been
    closed.
    c                ó(   •— d}t         ‰| �  |«       y )NzDAttempted to read or stream content, but the stream has been closed.rc   r6   s     €r-   r4   zStreamClosed.__init__X  s   ø€ ØXˆÜ‰Ñ˜Õ!r,   rk   rI   rE   s   @r-   r   r   R  s   ø„ ñ÷
"ñ "r,   r   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r   zY
    Attempted to access streaming response content, without having called `read()`.
    c                ó(   •— d}t         ‰| �  |«       y )NzOAttempted to access streaming response content, without having called `read()`.rc   r6   s     €r-   r4   zResponseNotRead.__init__b  s   ø€ ØcˆÜ‰Ñ˜Õ!r,   rk   rI   rE   s   @r-   r   r   ]  ó   ø„ ñ÷"ñ "r,   r   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r   zX
    Attempted to access streaming request content, without having called `read()`.
    c                ó(   •— d}t         ‰| �  |«       y )NzNAttempted to access streaming request content, without having called `read()`.rc   r6   s     €r-   r4   zRequestNotRead.__init__l  s   ø€ ØbˆÜ‰Ñ˜Õ!r,   rk   rI   rE   s   @r-   r   r   g  rp   r,   r   c              #  óN   K  — 	 d–— y# t         $ r}| �| |_        |‚d}~ww xY w­w)z—
    A context manager that can be used to attach the given request context
    to any `RequestError` exceptions that are raised within the block.
    N)r   r<   )r<   Úexcs     r-   Úrequest_contextru   q  s/   è ø€ ðÜøÜò ØÐØ!ˆCŒKØˆ	ûðüs   ‚%„	 ˆ%‰	"’�"¢%r1   )r<   rH   r@   zGenerator[None]).r*   Ú
__future__r   Ú
contextlibÚtypingÚcollections.abcr   ÚTYPE_CHECKINGÚ_modelsr   r   Ú__all__ÚUserWarningr%   Ú	Exceptionr   r   r    r   r
   r   r#   r   r   r   r"   r	   r   r   r!   r   r   r   r   r   r   r   r   r;   r   r   r   r   r   Úcontextmanagerru   r+   r,   r-   ú<module>r€      s¨  ðñõB #ã Û Ý %à	×Òß*ò€ô@˜kô ô �	ô  ôB �9ô  ô �\ô ô�~ô ôÐ%ô ôÐ"ô ôÐ#ô ôÐ"ô ô�>ô ô�ô ô�ô ô�<ô ô�ô ô�ô ô˜.ô ô�Nô ô˜ô ô˜-ô ô�Lô ô�|ô ô
!�iô 
!ô"�ô "ô"�Yô "ô"	"�,ô 	"ô"�[ô "ô$"�;ô "ô"�kô "ô"�[ô "ð ×Ñó
ó ñ
r,   