
    (ph
                     V    S r SSKJr  SSKJr  SSKJr   " S S\R
                  5      rg)zGoogle API key support.
This module provides authentication using the `API key`_.
.. _API key:
    https://cloud.google.com/docs/authentication/api-keys/
    )_helpers)credentials)
exceptionsc                      ^  \ rS rSrSrU 4S jr\S 5       r\S 5       r\	R                  " \R                  5      S 5       rS
S jrS rS	rU =r$ )Credentials   z]API key credentials.
These credentials use API key to provide authorization to applications.
c                 p   > [         [        U ]  5         U(       d  [        R                  " S5      eXl        g)zr
Args:
    token (str): API key string
Raises:
    ValueError: If the provided API key is not a non-empty string.
z(Token must be a non-empty API key stringN)superr   __init__r   InvalidValuetoken)selfr   	__class__s     F/var/www/html/venv/lib/python3.13/site-packages/google/auth/api_key.pyr   Credentials.__init__   s,     	k4)+))*TUU
    c                     g)NF r   s    r   expiredCredentials.expired+   s    r   c                     g)NTr   r   s    r   validCredentials.valid/   s    r   c                     g Nr   )r   requests     r   refreshCredentials.refresh3   s    r   c                 4    U=(       d    U R                   US'   g)zApply the API key token to the x-goog-api-key header.
Args:
    headers (Mapping): The HTTP request headers.
    token (Optional[str]): If specified, overrides the current access
        token.
zx-goog-api-keyNr   )r   headersr   s      r   applyCredentials.apply7   s     %*$7TZZ !r   c                 &    U R                  U5        g)a  Performs credential-specific before request logic.
Refreshes the credentials if necessary, then calls :meth:`apply` to
apply the token to the x-goog-api-key header.
Args:
    request (google.auth.transport.Request): The object used to make
        HTTP requests.
    method (str): The request's HTTP method or the RPC method being
        invoked.
    url (str): The request's URI or the RPC service's URI.
    headers (Mapping): The request's headers.
N)r#   )r   r   methodurlr"   s        r   before_requestCredentials.before_request@   s     	

7r   r!   r   )__name__
__module____qualname____firstlineno____doc__r   propertyr   r   r   copy_docstringr   r   r   r#   r(   __static_attributes____classcell__)r   s   @r   r   r      si    
     [445 68 r   r   N)r.   google.authr   r   r   r   r   r   r   <module>r4      s'    ! # "2+)) 2r   