Ë
    V¼Sf  ã                   ó^   — d Z ddlZddlmZ ddlmZ ddlmZ  G d„ dej                  «      Zy)z8Create / interact with Google Cloud Storage connections.é    N)Ú_http)Ú__version__)Ú_helpersc                   ót   ‡ — e Zd ZdZ ej
                  «       ZdZdˆ fd„	Zej                  Z
	 dZ	 ˆ fd„Zˆ xZS )Ú
Connectiona  A connection to Google Cloud Storage via the JSON REST API.

    Mutual TLS will be enabled if the "GOOGLE_API_USE_CLIENT_CERTIFICATE"
    environment variable is set to the exact string "true" (case-sensitive).

    Mutual TLS is not compatible with any API endpoint or universe domain
    override at this time. If such settings are enabled along with
    "GOOGLE_API_USE_CLIENT_CERTIFICATE", a ValueError will be raised.

    :type client: :class:`~google.cloud.storage.client.Client`
    :param client: The client that owns the current connection.

    :type client_info: :class:`~google.api_core.client_info.ClientInfo`
    :param client_info: (Optional) instance used to generate user agent.

    :type api_endpoint: str
    :param api_endpoint: (Optional) api endpoint to use.
    z#https://storage.mtls.googleapis.comc                 óŽ  •— t         t        | �  ||«       |xs | j                  | _        | j
                  | _        |d u | _        t        | j                  _
        | j                  j                  €d| j                  _        dt        › �}|| j                  j                  vr$| j                  xj                  d|› d�z  c_        y y )NÚ zgcloud-python/ú )Úsuperr   Ú__init__ÚDEFAULT_API_ENDPOINTÚAPI_BASE_URLÚDEFAULT_API_MTLS_ENDPOINTÚAPI_BASE_MTLS_URLÚALLOW_AUTO_SWITCH_TO_MTLS_URLr   Ú_client_infoÚclient_library_versionÚ
user_agent)ÚselfÚclientÚclient_infoÚapi_endpointÚagent_versionÚ	__class__s        €úYC:\Users\user\Documents\project_loop\venv\Lib\site-packages\google/cloud/storage/_http.pyr   zConnection.__init__.   s·   ø€ ÜŒj˜$Ñ(¨°Ô=Ø(ÒE¨D×,EÑ,EˆÔØ!%×!?Ñ!?ˆÔØ-9¸TÐ-AˆÔ*Ü3>ˆ×ÑÔ0ð ×Ñ×'Ñ'Ð/Ø+-ˆD×ÑÔ(Ø(¬¨Ð6ˆØ × 1Ñ 1× <Ñ <Ñ<Ø×Ñ×(Ò(¨a°¨¸aÐ,@Ñ@Ö(ð =ó    z*{api_base_url}/storage/{api_version}{path}c                 ó
  •— |j                  dd «      }t        j                  «       |d<   t        j                  t
        t        | �  g|¢­i |¤Ž}|r	  |j                  di |¤Ž}|r ||«      } |«       S # t        $ r Y Œw xY w)NÚretryÚextra_api_info© )
Úpopr   Ú_get_invocation_idÚ	functoolsÚpartialr   r   Úapi_requestÚ"get_retry_policy_if_conditions_metÚAttributeError)r   ÚargsÚkwargsr   Úcallr   s        €r   r%   zConnection.api_requestB   sŽ   ø€ Ø—
‘
˜7 DÓ)ˆÜ#+×#>Ñ#>Ó#@ˆÐÑ Ü× Ñ ¤¤z°4Ñ!DÐVÀtÒVÈvÑVˆÙðØ@˜×@Ñ@ÑJÀ6ÑJ�ñ Ù˜T“{�Ù‹vˆøô	 "ò Ùðús   ÁA6 Á6	BÂB)NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú_get_default_storage_base_urlr   r   r   Ú_API_VERSIONÚAPI_VERSIONÚAPI_URL_TEMPLATEr%   Ú__classcell__)r   s   @r   r   r      sK   ø„ ñð& B˜8×AÑAÓCÐØ EÐõAð ×'Ñ'€KØFàCÐØ:÷ð r   r   )	r.   r#   Úgoogle.cloudr   Úgoogle.cloud.storager   r   ÚJSONConnectionr   r    r   r   ú<module>r7      s(   ðñ ?ã Ý Ý ,Ý )ô7�×%Ñ%õ 7r   