ó
    °"³j
  ã                  ó¨   • S SK Jr  S SKrS SKJr  SSKJrJr  \R                  " SSS9r	\R                  " S	S
S9r
S
S/r " S S5      r " S S
5      rg)é    )ÚannotationsN)ÚTracebackTypeé   )ÚRequestÚResponseÚTÚBaseTransport)ÚboundÚAÚAsyncBaseTransportc                  óT   • \ rS rSrSS jr   S	       S
S jjrSS jrSS jrSrg)r	   é   c                ó   • U $ ©N© ©Úselfs    ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/httpx2/_transports/base.pyÚ	__enter__ÚBaseTransport.__enter__   s   € Øˆó    Nc                ó$   • U R                  5         g r   )Úclose©r   Úexc_typeÚ	exc_valueÚ	tracebacks       r   Ú__exit__ÚBaseTransport.__exit__   s   € ð 	�
‰
�r   c                ó   • [        S5      e)a¦  
Send a single HTTP request and return a response.

Developers shouldn't typically ever need to call into this API directly,
since the Client class provides all the higher level user-facing API
niceties.

In order to properly release any network resources, the response
stream should *either* be consumed immediately, with a call to
`response.stream.read()`, or else the `handle_request` call should
be followed with a try/finally block to ensuring the stream is
always closed.

Example usage:

    with httpx2.HTTPTransport() as transport:
        req = httpx2.Request(
            method=b"GET",
            url=(b"https", b"www.example.com", 443, b"/"),
            headers=[(b"Host", b"www.example.com")],
        )
        resp = transport.handle_request(req)
        body = resp.stream.read()
        print(resp.status_code, resp.headers, body)


Takes a `Request` instance as the only argument.

Returns a `Response` instance.
z0The 'handle_request' method must be implemented.©ÚNotImplementedError©r   Úrequests     r   Úhandle_requestÚBaseTransport.handle_request   s   € ô> "Ð"TÓUÐUr   c                ó   • g r   r   r   s    r   r   ÚBaseTransport.close<   s   € Ør   r   )r   r   Úreturnr   ©NNN©r   ztype[BaseException] | Noner   zBaseException | Noner   zTracebackType | Noner)   ÚNone©r$   r   r)   r   ©r)   r,   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r%   r   Ú__static_attributes__r   r   r   r	   r	      sI   † ôð
 04Ø*.Ø*.ð	à,ðð (ðð (ð	ð
 
õôV÷Br   c                  ó\   • \ rS rSrSS jr   S	       S
S jjr    SS jrSS jrSrg)r   é@   c              ƒ  ó   #   • U $ 7fr   r   r   s    r   Ú
__aenter__ÚAsyncBaseTransport.__aenter__A   s
   é € Øˆùs   ‚Nc              ƒ  ó@   #   • U R                  5       I S h  v•N   g  N7fr   )Úacloser   s       r   Ú	__aexit__ÚAsyncBaseTransport.__aexit__D   s   é € ð �k‰k‹m×Óùs   ‚–—c              ƒ  ó    #   • [        S5      e7f)Nz6The 'handle_async_request' method must be implemented.r!   r#   s     r   Úhandle_async_requestÚ'AsyncBaseTransport.handle_async_requestL   s   é € ô "Ð"ZÓ[Ð[ùs   ‚c              ƒ  ó   #   • g 7fr   r   r   s    r   r:   ÚAsyncBaseTransport.acloseR   s   é € Øùs   ‚r   )r   r   r)   r   r*   r+   r-   r.   )	r/   r0   r1   r2   r7   r;   r>   r:   r3   r   r   r   r   r   @   s\   † ôð
 04Ø*.Ø*.ð	à,ðð (ðð (ð	ð
 
õð\àð\ð 
ô\÷r   )Ú
__future__r   ÚtypingÚtypesr   Ú_modelsr   r   ÚTypeVarr   r   Ú__all__r	   r   r   r   r   Ú<module>rH      sS   ðÝ "ã Ý ç 'ð ‡N‚N�3˜oÑ.€Ø
‡N‚N�3Ð2Ñ3€à Ð
1€÷.ñ .÷bò r   