
    j                     t    d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 dee
   fdZded	edeg ef   fd
Zy)    )Callable)TokenProvider)BearerTokenCredentialPolicy)PipelineRequestPipelineContext)HttpRequestreturnc                  @    t        t        dd      t        d             S )NCredentialWrapperzhttps://fakeurl)r   r   r        f/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/azure/identity/_bearer_token_provider.py_make_requestr      s    ;':<MNP_`dPeffr   
credentialscopesc                 8    t        | g| dt        ffd}|S )a  Returns a callable that provides a bearer token.

    It can be used for instance to write code like:

    .. code-block:: python

        from azure.identity import DefaultAzureCredential, get_bearer_token_provider

        credential = DefaultAzureCredential()
        bearer_token_provider = get_bearer_token_provider(credential, "https://cognitiveservices.azure.com/.default")

        # Usage
        request.headers["Authorization"] = "Bearer " + bearer_token_provider()

    :param credential: The credential used to authenticate the request.
    :type credential: ~azure.core.credentials.TokenProvider
    :param str scopes: The scopes required for the bearer token.
    :rtype: callable
    :return: A callable that returns a bearer token.
    r	   c                      t               } j                  |        | j                  j                  d   t	        d      d  S )NAuthorizationzBearer )r   
on_requesthttp_requestheaderslen)requestpolicys    r   wrapperz*get_bearer_token_provider.<locals>.wrapper)   s;    /'"##++O<S^=MNNr   )r   str)r   r   r   r   s      @r   get_bearer_token_providerr      s)    , )=f=FOS O
 Nr   N)typingr   azure.core.credentialsr   azure.core.pipeline.policiesr   azure.core.pipeliner   r   azure.core.restr   r   r   r   r   r   r   <module>r#      sO   
  0 D @ 'g{3 g- # (SUWZSZJ[ r   