U
    Íø.e|  ã                   @  sd   d Z ddlmZ ddlZddlmZ ddlmZ G dd„ deƒZG dd	„ d	eƒZ	G d
d„ deƒZ
dS )z"Amazon SQS message implementation.é    )ÚannotationsN)ÚMessage)Ústr_to_bytesc                   @  s   e Zd ZdZdS )ÚBaseAsyncMessagez1Base class for messages received on async client.N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r   r   úF/tmp/pip-unpacked-wheel-48hrr5dg/kombu/asynchronous/aws/sqs/message.pyr      s   r   c                   @  s   e Zd ZdZdS )ÚAsyncRawMessagezRaw Message.Nr   r   r   r   r   r      s   r   c                   @  s    e Zd ZdZdd„ Zdd„ ZdS )ÚAsyncMessagezSerialized message.c                 C  s   t  t|ƒ¡ ¡ S )z.Encode/decode the value using Base64 encoding.)Úbase64Ú	b64encoder   Údecode)ÚselfÚvaluer   r   r   Úencode   s    zAsyncMessage.encodec                 C  s8   |dkr| j S |dkr|  ¡ S |dkr,| jS t|ƒ‚dS )z(Support Boto3-style access on a message.ZReceiptHandleZBodyÚqueueN)Zreceipt_handleÚget_bodyr   ÚKeyError)r   Úitemr   r   r   Ú__getitem__   s    zAsyncMessage.__getitem__N)r   r   r	   r
   r   r   r   r   r   r   r      s   r   )r
   Ú
__future__r   r   Zkombu.messager   Zkombu.utils.encodingr   r   r   r   r   r   r   r   Ú<module>   s   