
    9ig                     F   S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSK	r	SSK
Jr  SSK
Jr  SSKrSSKJr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSK J!r!  \RD                  " \#5      r$ " S S\5      r%g)z(
This module provides a client for STS.
    )	iteritemsN)str)bytes)bce_client_configuration)utils)bce_v1_signer)BceBaseClient)BceClientError)BceServerError)BceHttpClientError)bce_http_client)handler)http_content_types)http_headers)http_methods)sts)requiredc                   V    \ rS rSrSrS
S jrS
S jr\S 5       rS r	     SS jr
S	rg)	StsClient/   z
sdk client
Nc                 0    [         R                  " X5        g N)r	   __init__)selfconfigs     `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/baidubce/services/sts/sts_client.pyr   StsClient.__init__3   s    t,    c                 |   SnUb  [        U[        5      (       a  SU0nUc  SnO[[        U[        5      (       d  [        S5      eSU;   a  [        R
                  " U5      nO[        R
                  " XR                  S9nU R                  [        R                  U[        R                  [        R                  0US9$ )z
:type duration_seconds: int
:param duration_seconds: None
:token effective period

:type id: string
:param id: None
:acl id

:type acl: dict
:param acl: None
:acl

:return:
    **HttpResponse**
Ns   durationSecondss   acl should be dictid)default)bodyheadersparams)
isinstanceintdict	TypeErrorjsondumps_dump_acl_object_send_requestr   POSTr   CONTENT_TYPEr   JSON)r   aclduration_secondsr$   r"   s        r   get_session_tokenStsClient.get_session_token6   s    $ '*C00,.>?;Dc4(( 566s{zz#zz#/D/DE!!!..0B0G0GH	 "  	r   c                 ~    0 n[        U R                  5       H!  u  p#UR                  S5      (       a  M  X1U'   M#     U$ )N_)r   __dict__
startswith)r0   resultkvs       r   r+   StsClient._dump_acl_object^   s9    cll+DA<<$$q	 , r   c                     Uc  U R                   $ [        R                  " U R                   5      nUR                  U5        U$ r   )r   copymerge_non_none_values)r   r   
new_configs      r   _merge_configStsClient._merge_configf   s7    >;;4;;/J,,V4r   c           
          U R                  U5      n[        R                  S-   nUc  [        R                  n[
        R                  " U[        R                  [        R                  U/XX#U5      $ )Ns   sessionToken)
r@   r   
URL_PREFIXr   
parse_jsonr   send_requestr   signparse_error)r   http_methodr"   r#   r$   r   body_parserpaths           r   r,   StsClient._send_requestn   se     ##F+~~/!,,K++M&&)<)<k(Jtf6 	6r    r   )NNNNN)__name__
__module____qualname____firstlineno____doc__r   r2   staticmethodr+   r@   r,   __static_attributes__rL   r   r   r   r   /   sA    -&P    "!!"&6r   r   )&rQ   future.utilsr   r=   http.clienthttposr)   loggingshutilbuiltinsr   r   baidubcer   r   baidubce.authr   baidubce.bce_base_clientr	   baidubce.exceptionr
   r   r   baidubce.httpr   r   r   r   r   baidubce.servicesr   baidubce.utilsr   	getLoggerrM   _loggerr   rL   r   r   <module>rd      st    #   	       -  ' 2 - - 1 ) ! , & & ! # 

H
%M6 M6r   