
    g                         d Z ddlZddlmZ dZdZdZdZdZd	Z	d
Z
dZdZdZdZdZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)z We use x-goog-api-client header to report metrics. This module provides
the constants and helper methods to construct x-goog-api-client header.
    N)versionzx-goog-api-clientzgoogle-byoid-sdkzauth-request-type/atzauth-request-type/itzauth-request-type/mdszauth-request-type/re-startzauth-request-type/re-contzcred-type/uzcred-type/sazcred-type/jwtzcred-type/mdszcred-type/impc                  f    dj                  t        j                         t        j                        S )Nzgl-python/{} auth/{})formatplatformpython_versionr   __version__     P/var/www/django_project/virt/lib/python3.12/site-packages/google/auth/metrics.pypython_and_auth_lib_versionr   -   s$    !(()@)@)BGDWDWXXr
   c                  H    dj                  t               t        t              S Nz{} {} {})r   r   REQUEST_TYPE_ACCESS_TOKENCRED_TYPE_SA_MDSr	   r
   r   token_request_access_token_mdsr   5   s!    #%'@BR r
   c                  H    dj                  t               t        t              S r   )r   r   REQUEST_TYPE_ID_TOKENr   r	   r
   r   token_request_id_token_mdsr   =   s!    #%'<>N r
   c                  H    dj                  t               t        t              S r   )r   r   r   CRED_TYPE_SA_IMPERSONATEr	   r
   r   &token_request_access_token_impersonater   E   s!    #%!  r
   c                  H    dj                  t               t        t              S r   )r   r   r   r   r	   r
   r   "token_request_id_token_impersonater   O   s!    #%'<>V r
   c                  H    dj                  t               t        t              S r   )r   r   r   CRED_TYPE_SA_ASSERTIONr	   r
   r   'token_request_access_token_sa_assertionr   X   s!    #%'@BX r
   c                  H    dj                  t               t        t              S r   )r   r   r   r   r	   r
   r   #token_request_id_token_sa_assertionr   a   s!    #%'<>T r
   c                  >    dj                  t               t              S N{} {})r   r   CRED_TYPE_USERr	   r
   r   token_request_userr#   i   s    >>57HHr
   c                  >    dj                  t               t              S r    )r   r   REQUEST_TYPE_MDS_PINGr	   r
   r   mds_pingr&   q   s    >>579NOOr
   c                  >    dj                  t               t              S r    )r   r   REQUEST_TYPE_REAUTH_STARTr	   r
   r   reauth_startr)   w   s    >>579RSSr
   c                  >    dj                  t               t              S r    )r   r   REQUEST_TYPE_REAUTH_CONTINUEr	   r
   r   reauth_continuer,   }   s    >>579UVVr
   c                     dj                  t               t              }| j                         D ]  \  }}dj                  |||      } |S )Nr!   z{} {}/{})r   r   BYOID_HEADER_SECTIONitems)metrics_optionsheaderkeyvalues       r   byoid_metrics_headerr4      sL    ^^79;OPF%++- 7
U""6367Mr
   c                 V    |syt         | vr
|| t         <   y| t         xx   d|z   z  cc<   y)a  Add x-goog-api-client header with the given value.

    Args:
        headers (Mapping[str, str]): The headers to which we will add the
            metric header.
        metric_header_value (Optional[str]): If value is None, do nothing;
            if headers already has a x-goog-api-client header, append the value
            to the existing header; otherwise add a new x-goog-api-client
            header with the given value.
    N )API_CLIENT_HEADER)headersmetric_header_values     r   add_metric_headerr:      s4     '%8!"!"c,?&??"r
   )__doc__r   google.authr   r7   r.   r   r   r%   r(   r+   r"   r   CRED_TYPE_SA_JWTr   r   r   r   r   r   r   r   r   r#   r&   r)   r,   r4   r:   r	   r
   r   <module>r>      s      (  *  3 . / 8 :  ' " " * YIPTW@r
   