
     @g                    z   d Z ddlmZ ddlZddlZej        rddlmZm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 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&ej'        	 dCdDdB            Z(dS )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   )RequestResponsec                  ^     e Zd ZdZd fdZedd            Zej        dd
            Z xZS )	HTTPErrora  
    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 = httpx.get("https://www.example.com")
        response.raise_for_status()
    except httpx.HTTPError as exc:
        print(f"HTTP Exception for {exc.request.url} - {exc}")
    ```
    messagestrreturnNonec                X    t                                          |           d | _        d S Nsuper__init___requestselfr	   	__class__s     E/var/www/piapp/venv/lib/python3.11/site-packages/httpx/_exceptions.pyr   zHTTPError.__init__<   s&    !!!(,    r   c                <    | j         t          d          | j         S )Nz'The .request property has not been set.)r   RuntimeError)r   s    r   requestzHTTPError.request@   s!    = HIII}r   r   c                    || _         d S r   )r   )r   r   s     r   r   zHTTPError.requestF   s    r   r	   r
   r   r   )r   r   )r   r   r   r   )	__name__
__module____qualname____doc__r   propertyr   setter__classcell__r   s   @r   r   r   *   s         "- - - - - -    X
 ^      ^         r   r   c                  *     e Zd ZdZddd fd
Z xZS )RequestErrorzS
    Base class for all exceptions that may occur when issuing a `.request()`.
    N)r   r	   r
   r   Request | Noner   r   c               X    t                                          |           || _        d S r   r   )r   r	   r   r   s      r   r   zRequestError.__init__P   s(    !!!  r   )r	   r
   r   r'   r   r   r   r   r   r    r   r#   r$   s   @r   r&   r&   K   sX          CG                        r   r&   c                      e Zd ZdZdS )TransportErrorzU
    Base class for all exceptions that occur at the level of the Transport API.
    Nr   r   r   r     r   r   r+   r+   [              r   r+   c                      e Zd ZdZdS )TimeoutExceptionzM
    The base class for timeout errors.

    An operation has timed out.
    Nr,   r-   r   r   r0   r0   d              r   r0   c                      e Zd ZdZdS )ConnectTimeoutz1
    Timed out while connecting to the host.
    Nr,   r-   r   r   r3   r3   l   r.   r   r3   c                      e Zd ZdZdS )ReadTimeoutz7
    Timed out while receiving data from the host.
    Nr,   r-   r   r   r5   r5   r   r.   r   r5   c                      e Zd ZdZdS )WriteTimeoutz3
    Timed out while sending data to the host.
    Nr,   r-   r   r   r7   r7   x   r.   r   r7   c                      e Zd ZdZdS )PoolTimeoutzB
    Timed out waiting to acquire a connection from the pool.
    Nr,   r-   r   r   r9   r9   ~   r.   r   r9   c                      e Zd ZdZdS )NetworkErrorzo
    The base class for network-related errors.

    An error occurred while interacting with the network.
    Nr,   r-   r   r   r;   r;      r1   r   r;   c                      e Zd ZdZdS )	ReadErrorz2
    Failed to receive data from the network.
    Nr,   r-   r   r   r=   r=      r.   r   r=   c                      e Zd ZdZdS )
WriteErrorz2
    Failed to send data through the network.
    Nr,   r-   r   r   r?   r?      r.   r   r?   c                      e Zd ZdZdS )ConnectErrorz+
    Failed to establish a connection.
    Nr,   r-   r   r   rA   rA      r.   r   rA   c                      e Zd ZdZdS )
CloseErrorz'
    Failed to close a connection.
    Nr,   r-   r   r   rC   rC      r.   r   rC   c                      e Zd ZdZdS )
ProxyErrorzB
    An error occurred while establishing a proxy connection.
    Nr,   r-   r   r   rE   rE      r.   r   rE   c                      e Zd ZdZdS )UnsupportedProtocolz
    Attempted to make a request to an unsupported protocol.

    For example issuing a request to `ftp://www.example.com`.
    Nr,   r-   r   r   rG   rG      r1   r   rG   c                      e Zd ZdZdS )ProtocolErrorz$
    The protocol was violated.
    Nr,   r-   r   r   rI   rI      r.   r   rI   c                      e Zd ZdZdS )LocalProtocolErrorz
    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   rK   rK      s           r   rK   c                      e Zd ZdZdS )RemoteProtocolErrorz^
    The protocol was violated by the server.

    For example, returning malformed HTTP.
    Nr,   r-   r   r   rM   rM      r1   r   rM   c                      e Zd ZdZdS )DecodingErrorzG
    Decoding of the response failed, due to a malformed encoding.
    Nr,   r-   r   r   rO   rO      r.   r   rO   c                      e Zd ZdZdS )TooManyRedirectsz
    Too many redirects.
    Nr,   r-   r   r   rQ   rQ      r.   r   rQ   c                  $     e Zd ZdZd fd
Z xZS )HTTPStatusErrorz|
    The response had an error HTTP status of 4xx or 5xx.

    May be raised when calling `response.raise_for_status()`
    r	   r
   r   r   responser   r   r   c               f    t                                          |           || _        || _        d S r   )r   r   r   rT   )r   r	   r   rT   r   s       r   r   zHTTPStatusError.__init__   s-    !!! r   )r	   r
   r   r   rT   r   r   r   r)   r$   s   @r   rS   rS      sG         ! ! ! ! ! ! ! ! ! !r   rS   c                  $     e Zd ZdZd fdZ xZS )
InvalidURLz7
    URL is improperly formed or cannot be parsed.
    r	   r
   r   r   c                J    t                                          |           d S r   r   r   r   s     r   r   zInvalidURL.__init__   !    !!!!!r   r   r)   r$   s   @r   rW   rW      sG         " " " " " " " " " "r   rW   c                  $     e Zd ZdZd fdZ xZS )CookieConflictz
    Attempted to lookup a cookie by name, but multiple cookies existed.

    Can occur when calling `response.cookies.get(...)`.
    r	   r
   r   r   c                J    t                                          |           d S r   rY   r   s     r   r   zCookieConflict.__init__   rZ   r   r   r)   r$   s   @r   r\   r\      sG         " " " " " " " " " "r   r\   c                  $     e Zd ZdZd fdZ xZS )StreamErrorz
    The base class for stream exceptions.

    The developer made an error in accessing the request stream in
    an invalid way.
    r	   r
   r   r   c                J    t                                          |           d S r   rY   r   s     r   r   zStreamError.__init__  rZ   r   r   r)   r$   s   @r   r_   r_   	  sG         " " " " " " " " " "r   r_   c                  $     e Zd ZdZd fdZ xZS )StreamConsumedz]
    Attempted to read or stream content, but the content has already
    been streamed.
    r   r   c                N    d}t                                          |           d S )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.rY   r   s     r   r   zStreamConsumed.__init__  s-    & 	 	!!!!!r   r   r   r)   r$   s   @r   rb   rb     sG         
	" 	" 	" 	" 	" 	" 	" 	" 	" 	"r   rb   c                  $     e Zd ZdZd fdZ xZS )StreamClosedz\
    Attempted to read or stream response content, but the request has been
    closed.
    r   r   c                N    d}t                                          |           d S )NzDAttempted to read or stream content, but the stream has been closed.rY   r   s     r   r   zStreamClosed.__init__-  s+    U 	 	!!!!!r   rd   r)   r$   s   @r   rf   rf   '  sG         
" " " " " " " " " "r   rf   c                  $     e Zd ZdZd fdZ xZS )ResponseNotReadzY
    Attempted to access streaming response content, without having called `read()`.
    r   r   c                N    d}t                                          |           d S )NzOAttempted to access streaming response content, without having called `read()`.rY   r   s     r   r   zResponseNotRead.__init__9  -    / 	 	!!!!!r   rd   r)   r$   s   @r   ri   ri   4  G         " " " " " " " " " "r   ri   c                  $     e Zd ZdZd fdZ xZS )RequestNotReadzX
    Attempted to access streaming request content, without having called `read()`.
    r   r   c                N    d}t                                          |           d S )NzNAttempted to access streaming request content, without having called `read()`.rY   r   s     r   r   zRequestNotRead.__init__F  rk   r   rd   r)   r$   s   @r   rn   rn   A  rl   r   rn   r   r'   r   typing.Iterator[None]c              #  N   K   	 dV  dS # t           $ r}| | |_        |d}~ww xY 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_contextrs   N  sI         !CK	s   
 
$$r   )r   r'   r   rp   ))r    
__future__r   
contextlibtypingTYPE_CHECKING_modelsr   r   	Exceptionr   r&   r+   r0   r3   r5   r7   r9   r;   r=   r?   rA   rC   rE   rG   rI   rK   rM   rO   rQ   rS   rW   r\   r   r_   rb   rf   ri   rn   contextmanagerrs   r-   r   r   <module>r{      s/   @ # " " " " "     	 +********         	      B         9           \       ~       %       "       #       "       >                     <                     .       N              -       L       |   
! 
! 
! 
! 
!i 
! 
! 
!" " " " " " " "" " " " "Y " " ""	" 	" 	" 	" 	", 	" 	" 	"" " " " "[ " " "$
" 
" 
" 
" 
"; 
" 
" 
"
" 
" 
" 
" 
"k 
" 
" 
"
" 
" 
" 
" 
"[ 
" 
" 
" "      r   