Ë
    Ùªg%  ã                   óô   — d Z ddlZddlmZ ej
                  ej                  ej                  ej                  fZ		 ej                  fZ	 dZ	  G d„ dej                  ¬«      Z G d„ dej                  ¬«      Zy)	a  Transport - HTTP client library support.

:mod:`google.auth` is designed to work with various HTTP client libraries such
as urllib3 and requests. In order to work across these libraries with different
interfaces some abstraction is needed.

This module provides two interfaces that are implemented by transport adapters
to support HTTP libraries. :class:`Request` defines the interface expected by
:mod:`google.auth` to make requests. :class:`Response` defines the interface
for the return value of :class:`Request`.
é    Né   c                   ó|   — e Zd ZdZej
                  d„ «       Zej
                  d„ «       Zej
                  d„ «       Zy)ÚResponsezHTTP Response data.c                 ó   — t        d«      ‚)zint: The HTTP status code.zstatus must be implemented.©ÚNotImplementedError©Úselfs    úS/var/www/openai/venv/lib/python3.12/site-packages/google/auth/transport/__init__.pyÚstatuszResponse.status4   s   € ô "Ð"?Ó@Ð@ó    c                 ó   — t        d«      ‚)z-Mapping[str, str]: The HTTP response headers.zheaders must be implemented.r   r	   s    r   ÚheaderszResponse.headers9   s   € ô "Ð"@ÓAÐAr   c                 ó   — t        d«      ‚)zbytes: The response body.zdata must be implemented.r   r	   s    r   ÚdatazResponse.data>   s   € ô "Ð"=Ó>Ð>r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚabcÚabstractpropertyr   r   r   © r   r   r   r   1   sU   „ Ùà×ÑñAó ðAð 	×ÑñBó ðBð 	×Ññ?ó ñ?r   r   )Ú	metaclassc                   ó8   — e Zd ZdZej
                  	 dd„«       Zy)ÚRequestzÝInterface for a callable that makes HTTP requests.

    Specific transport implementations should provide an implementation of
    this that adapts their specific request / response API.

    .. automethod:: __call__
    Nc                 ó   — t        d«      ‚)a  Make an HTTP request.

        Args:
            url (str): The URI to be requested.
            method (str): The HTTP method to use for the request. Defaults
                to 'GET'.
            body (bytes): The payload / body in HTTP request.
            headers (Mapping[str, str]): Request headers.
            timeout (Optional[int]): The number of seconds to wait for a
                response from the server. If not specified or if None, the
                transport-specific default timeout will be used.
            kwargs: Additionally arguments passed on to the transport's
                request method.

        Returns:
            Response: The HTTP response.

        Raises:
            google.auth.exceptions.TransportError: If any exception occurred.
        z__call__ must be implemented.r   )r
   ÚurlÚmethodÚbodyr   ÚtimeoutÚkwargss          r   Ú__call__zRequest.__call__M   s   € ô4 "Ð"AÓBÐBr   )ÚGETNNN)r   r   r   r   r   Úabstractmethodr"   r   r   r   r   r   D   s&   „ ñð 	×ÑàBFòCó ñCr   r   )r   r   Úhttp.clientÚclientÚhttp_clientÚINTERNAL_SERVER_ERRORÚSERVICE_UNAVAILABLEÚREQUEST_TIMEOUTÚTOO_MANY_REQUESTSÚDEFAULT_RETRYABLE_STATUS_CODESÚUNAUTHORIZEDÚDEFAULT_REFRESH_STATUS_CODESÚDEFAULT_MAX_REFRESH_ATTEMPTSÚABCMetar   r   r   r   r   Ú<module>r1      sˆ   ðñ
ó Ý !ð ×%Ñ%Ø×#Ñ#Ø×ÑØ×!Ñ!ð	"Ð ðð !,× 8Ñ 8Ð:Ð ðð  !Ð Ø Iô?˜Ÿ™õ ?ô&#C˜Ÿ™ö #Cr   