HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib64/python3.10/site-packages/botocore/__pycache__/endpoint.cpython-310.pyc
o

�h�?�@s�ddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddlm
Z
ddlmZddlmZddlmZdd	lmZdd
lmZmZmZe�e�Ze
�ZdZdZd
d�Z Gdd�d�Z!Gdd�d�Z"dS)�N)�parsers)�create_request_object)�HTTPClientError)�get_global_history_recorder)�first_non_none_response)�handle_checksum_body)�URLLib3Session)�
StreamingBody)�get_environ_proxies�is_valid_endpoint_url�is_valid_ipv6_endpoint_url�<�
cCsz|j|jd|jid�}|ddkr|j|d<|S|jr"|j|d<|S|jr6|d�d�}t|j|�|d<|S|j|d<|S)a�Convert an HTTP response object to a request dict.

    This converts the requests library's HTTP response object to
    a dictionary.

    :type http_response: botocore.vendored.requests.model.Response
    :param http_response: The HTTP response from an AWS service request.

    :rtype: dict
    :return: A response dictionary which will contain the following keys:
        * headers (dict)
        * status_code (int)
        * body (string or file-like object)

    �operation_name)�headers�status_code�contextr�,�bodyrzcontent-length)	rr�name�content�has_event_stream_output�raw�has_streaming_output�getr	)�
http_response�operation_model�
response_dict�length�r�D/usr/local/CyberCP/lib/python3.10/site-packages/botocore/endpoint.py�convert_to_response_dict*s"��
�
�
�r!c@s�eZdZdZ		d#dd�Zdd�Zdd�Zd	d
�Zd$dd�Zd
d�Z	dd�Z
dd�Zdd�Zd$dd�Z
dd�Zdd�Zdd�Zdd�Z		d#dd �Zd!d"�ZdS)%�Endpointa,
    Represents an endpoint for a particular service in a specific
    region.  Only an endpoint can make requests.

    :ivar service: The Service object that describes this endpoints
        service.
    :ivar host: The fully qualified endpoint hostname.
    :ivar session: The session object.
    NcCsR||_||_||_t��|_|durt��}||_||_	|j	dur't
�|_	dSdS�N)�_endpoint_prefix�_event_emitter�host�	threading�Lock�_lockr�ResponseParserFactory�_response_parser_factory�http_sessionr)�selfr&�endpoint_prefix�
event_emitter�response_parser_factoryr,rrr �__init__Xs

�zEndpoint.__init__cCs|j�d|j�d�S)N�(�))r$r&�r-rrr �__repr__kszEndpoint.__repr__cCs|j��dSr#)r,�closer4rrr r6nszEndpoint.closecCst�d||�|�||�S)Nz%Making request for %s with params: %s)�logger�debug�
_send_request)r-r�request_dictrrr �make_requestqs�zEndpoint.make_requestcCs^t|�}|r(t|j|jg�|_|jj��}d|�d|j��}|j	j
|||jd�|�|�}|S)Nzrequest-created.�.)�requestr)r�anyrr�
stream_output�
service_model�
service_id�	hyphenizerr%�emit�prepare_request)r-�paramsrr=rA�
event_name�prepared_requestrrr �create_requestys ���
zEndpoint.create_requestcCs.|��D]\}}t|t�r|�d�||<qdS)Nzutf-8)�items�
isinstance�str�encode)r-r�key�valuerrr �_encode_headers�s

��zEndpoint._encode_headerscCs|�|j�|��Sr#)rOr�prepare�r-r=rrr rD�szEndpoint.prepare_requestcCs>tj��}tj�|d�}||}|tj|d�|}|�d�S)Nz%a, %d %b %Y %H:%M:%S %Z)�secondsz%Y%m%dT%H%M%SZ)�datetime�utcnow�strptime�	timedelta�strftime)r-�response_received_timestamp�date_header�read_timeout�local_timestamp�date_conversion�estimated_skew�ttlrrr �_calculate_ttl�s
�
���
zEndpoint._calculate_ttlcCsp|dj�d�}|�d�}|r4|s6ztj��}|�|||�|d<WdSty3tjddd�YdSwdSdS)Nr�Date�has_streaming_inputr^z9Exception received when updating retries context with TTLT��exc_info)rrrSrTr_�	Exceptionr7r8)r-�retries_contextrZ�success_response�response_date_headerrarXrrr �_set_ttl�s"

����zEndpoint._set_ttlcCsP|�di�}||d<d|vrtt���|d<|r&|dj}|�|||�dSdS)N�retries�attemptz
invocation-id�
client_config)�
setdefaultrK�uuid�uuid4rZrh)r-rrjrfrerZrrr �_update_retries_context�s
�z Endpoint._update_retries_contextc	Cs�d}|d}|�||�|�||�}|�|||�\}}|�|||||�rK|d7}|�|||�|��|�||�}|�|||�\}}|�|||||�s$|durad|dvra|d}||ddd<|durg|�|S)N�r�ResponseMetadata�
RetryAttempts)rorH�
_get_response�_needs_retry�reset_stream)	r-r:r�attemptsrr=rf�	exception�
total_retriesrrr r9�sH������zEndpoint._send_requestc
Cs||�|||�\}}dd||d�}|dur#|\}}||d<t||�|d<|jj��}	|jjd|	�d|j��fi|��||fS)N)r�parsed_responserrwryrzresponse-received.r<)�_do_get_responser!r@rArBr%rCr)
r-r=rrrfrw�kwargs_to_emitrryrArrr rs�s*�����zEndpoint._get_responsec
Cslz=t�d|�t�d|j|j|j|j|jd��|j	j
��}d|�d|j��}|j
j||d�}t|�}|dur<|�|�}Wn2tyS}z
d|fWYd}~Sd}~wtyo}ztjddd	�d|fWYd}~Sd}~wwt||�}	t||	||�|	��}
|j|
d
<t�d|
�|jd}|j�|�}|�|	|j�}
|jd
kr�|�|	|
||�t�d|
�||
fdfS)NzSending http request: %s�HTTP_REQUEST)�methodr�	streaming�urlrzbefore-send.r<)r=z-Exception received when sending HTTP request.Trbr~�
HTTP_RESPONSE�protocolr�PARSED_RESPONSE)r7r8�history_recorder�recordr}rrarrr@rArBrr%rCr�_sendrrdr!r�copyr�metadatar+�
create_parser�parse�output_shaper�_add_modeled_error_fields)r-r=rrrArF�	responsesr�er�http_response_record_dictr��parserryrrr rzsn��

��������
�
�zEndpoint._do_get_responsec	CsT|�di��d�}|durdS|j}|�|�}|durdS|�||�}|�|�dS)N�Error�Code)rr@�shape_for_error_coder��update)	r-rryrr��
error_coder@�error_shape�
modeled_parserrr r�Ds
z"Endpoint._add_modeled_error_fieldsc
	Csf|jj��}d|�d|j��}|jj|||||||d�}t|�}	|	dur&dSt�d|	�t	�
|	�dS)Nzneeds-retry.r<)�response�endpoint�	operationrv�caught_exceptionr:Fz3Response received to retry, sleeping for %s secondsT)r@rArBrr%rCrr7r8�time�sleep)
r-rvrr:r�r�rArFr��handler_responserrr rtVs(�	�
zEndpoint._needs_retrycCs|j�|�Sr#)r,�sendrQrrr r�vszEndpoint._send)NNr#)�__name__�
__module__�__qualname__�__doc__r1r5r6r;rHrOrDr_rhror9rsrzr�rtr�rrrr r"Ms,
�


)?
� r"c	@s@eZdZdd�Zddeeeddddf	dd�Zdd�Zdd	�Z	dS)
�EndpointCreatorcCs
||_dSr#)r%)r-r/rrr r1{s
zEndpointCreator.__init__Nc
	Cstt|�st|�std|����|	dur|�|�}	|j}
t�d|
|�|||	|�|�||
||d�}t||
|j	||d�S)NzInvalid endpoint: zSetting %s timeout as %s)�timeout�proxies�verify�max_pool_connections�socket_options�client_cert�proxies_config)r.r/r0r,)
rr�
ValueError�_get_proxiesr.r7r8�_get_verify_valuer"r%)r-r@�region_name�endpoint_urlr�r0r�r��http_session_clsr�r�r�r�r.r,rrr �create_endpoint~s4��
�
�zEndpointCreator.create_endpointcCst|�Sr#)r
)r-rrrr r��szEndpointCreator._get_proxiescCs|dur|Stj�dd�S)N�REQUESTS_CA_BUNDLET)�os�environr)r-r�rrr r��sz!EndpointCreator._get_verify_value)
r�r�r�r1�DEFAULT_TIMEOUT�MAX_POOL_CONNECTIONSrr�r�r�rrrr r�zs
�+r�)#rS�loggingr�r'r�rm�botocorer�botocore.awsrequestr�botocore.exceptionsr�botocore.historyr�botocore.hooksr�botocore.httpchecksumr�botocore.httpsessionr�botocore.responser	�botocore.utilsr
rr�	getLoggerr�r7r�r�r�r!r"r�rrrr �<module>s0
#/