403Webshell
Server IP : 3.96.16.70  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3.9/site-packages/cfnbootstrap/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.9/site-packages/cfnbootstrap/__pycache__/sqs_client.cpython-39.pyc
a

��0i�$�@s�dZddlmZddlmZddlmZmZddlmZddl	m
Z
ddlZddlZddl
mZmZe�d	�ZGd
d�dej�ZGdd
�d
e�ZdS)z�
SQS client-related classes

Classes:
SQSClient - an HTTP client that makes API calls against SQS
Message  - a message from an SQS queue

�)�
aws_client)�V4Signer)�retry_on_failure�timeout)�
endpoint_tool)�ElementTreeN)�StringIO�BytesIOz
cfn.clientcs�eZdZdZdZdeZd�fdd�	Zdd	�Zed
d��Z	edd
��Z
eej
�e�d�ed�ddd���Zedej
�e�d�e�ddd���Zeej
�e�d�e�ddd���Z�ZS)�	SQSClientaO
    Makes API calls against SQS

    Notes:
    - Public methods of this class have a 1-to-1 equivalence to published SQS APIs.
    - Calls are retried internally when appropriate; callers should not retry.

    Attributes:
    _apiVersion - the SQS API version
    _xmlns      - the XML namespace for the SQS API version in use

    z
2012-11-05�"http://queue.amazonaws.com/doc/%s/N�	us-east-1csp|st�|�}n
|�|�}|s(t�|�}|s4td��t|d�}tt|�j|d||dtj|d�t	�
d|�dS)Nz(Region is required for AWS V4 SignaturesZsqsFr)�signer�xmlns�	proxyinfoz'SQS client initialized with endpoint %s)r
�endpointForRegion�
_fix_endpoint�regionForEndpoint�
ValueErrorr�super�__init__�_apiVersion�log�debug)�selfZcredentials�url�regionr�endpointr
��	__class__��;/usr/lib/python3.9/site-packages/cfnbootstrap/sqs_client.pyr5s



�zSQSClient.__init__cCs�t�tj|�pt�tj|�}|r�t�d�D]V}|j|�d�kr*|j}|�	d�rj|�d��
d�rj|dd�}d||�d�fSq*dtj|�d�|�d�fS|S)N�	AmazonSQS��.cn����zhttps://%s%s�https://)�re�matchr�SQS_PATTERN�SQS_LEGACY_PATTERN�get_endpoints_for_servicer�group�hostname�endswith�
startswith�
SQS_FORMAT)rZunparsed_url�mrZfixed_hostnamerrr rJs�zSQSClient._fix_endpointcCsHt�d�D]}|j|kr
d|jSq
dtj||�d�r>dndfS)Nr!�
https://%sr&Zcnr#�)rr+rr-r0r/)�clsrrrrr rXs
zSQSClient.endpointForRegioncCsVt�d�D]}|d|jkr
|jSq
t�tj|�pBt�tj|�}|rR|�d�SdS)Nr!r2r")	rr+r-rr'r(r)r*r,)r4Z
parsed_urlrr1rrr r_s�
zSQSClient.regionForEndpoint)�http_error_extractor�<r"c
Cs�|s
dg}|�|�}t�d|�dtjt|�d�}tt|��D]}|||d|d<q>|rht|�|d<|rxt|�|d<|j||||r�|d	nd
d�j	�
d�}	t�t
|	�|j�S)
zs
        Calls ReceiveMessage and returns a list of Message objects

        Throws an IOError on failure.
        ZAllzReceiving messages for queue %sZReceiveMessage)�Action�VersionZMaxNumberOfMessageszAttributeName.%sr"ZVisibilityTimeoutZWaitTimeSeconds�N)r�utf-8)rrrr
r�str�range�len�_call�content�decode�Message�_parse_listr�_xmlns)
r�	queue_url�
attributesZmax_messagesZvisibility_timeout�request_credentialsZ	wait_time�params�iZresponse_contentrrr �receive_messagejs0	
���
�zSQSClient.receive_message�)Z	max_triesr5c	Cs�|�|�}t�d||�dtj|d�}|r2||d<tjt|j|||dd�j�	d��d�}|�
d	|j|jf�}|�
d
|j|jf�}||fS)z
        Calls SendMessage and returns a tuple of (MessageId, MD5OfMessageBody)

        Throws an IOError on failure.
        zSending %s to queue %sZSendMessage)r7r8ZMessageBodyZDelaySecondsZPOST)Zverbr:��filez#{%s}SendMessageResult/{%s}MessageIdz*{%s}SendMessageResult/{%s}MD5OfMessageBody)rrrr
rrrr>r?r@�findtextrC)	rrDZmessage_bodyZ
delay_secondsrFrG�root�
message_id�md5_of_bodyrrr �send_message�s&
�
��
��zSQSClient.send_messagecCs8|�|�}t�d||�dtj|d�}|�|||�dS)zj
        Calls DeleteMessage on a specified receipt handle

        Throws an IOError on failure.
        zDeleting %s from queue %sZ
DeleteMessage)r7r8Z
ReceiptHandleN)rrrr
rr>)rrD�receipt_handlerFrGrrr �delete_message�s
�zSQSClient.delete_message)NrN)Nr"NNN)NN)N)�__name__�
__module__�__qualname__�__doc__rrCrr�classmethodrrrr�ClientZ_get_xml_extractorrrIrQrS�
__classcell__rrrr r
$s(



�r
c@s|eZdZdZedd��Zedd��Zdd�Zdd	�Zd
d�Z	e
dd
��Ze
dd��Ze
dd��Z
e
dd��Ze
dd��ZdS)rAzA message off of an SQS queuecs:|sgStj|d�}|�d��f�}��fdd�|D�S)NrKz${%s}ReceiveMessageResult/{%s}Messagecsg|]}��|���qSr)�
_from_elem)�.0�elem�r4rrr �
<listcomp>��z'Message._parse_list.<locals>.<listcomp>)r�findall)r4�datarrNZmsgsrr^r rB�s
�zMessage._parse_listcCsli}|�d|�D] }|�d|�||�d|�<qt|�d|�|�d|�|�d|�|�d|�|�S)Nz
{%s}Attributez	{%s}Valuez{%s}Namez
{%s}MessageIdz{%s}ReceiptHandlez
{%s}MD5OfBodyz{%s}Body)rarMrA)r4r]r�attribsZattribrrr r[�s��zMessage._from_elemcCs&||_||_||_||_t|�|_dS�N)�_message_id�_receipt_handle�_md5_of_body�_body�dict�_attributes)rZmsg_idZhandleZmd5�bodyrcrrr r�s
zMessage.__init__cCs|��Srd)�__str__�rrrr �__repr__�szMessage.__repr__cCsd|j|j|j|j|jfS)NzMMessage[MessageId:%s, ReceiptHandle:%s, MD5OfBody:%s, Body:%s, Attributes:%s])rOrRrPrkrErmrrr rl�s�zMessage.__str__cCs|jSrd)rermrrr rO�szMessage.message_idcCs|jSrd)rfrmrrr rR�szMessage.receipt_handlecCs|jSrd)rgrmrrr rP�szMessage.md5_of_bodycCs|jSrd)rhrmrrr rk�szMessage.bodycCs|jSrd)rjrmrrr rE�szMessage.attributesN)rTrUrVrWrXrBr[rrnrl�propertyrOrRrPrkrErrrr rA�s$





rA)rWZcfnbootstraprZcfnbootstrap.aws_clientrZcfnbootstrap.utilrrrZ	xml.etreerZloggingr'�iorr	Z	getLoggerrrYr
�objectrArrrr �<module>s


Youez - 2016 - github.com/yon3zu
LinuXploit