U
    ‰dX  ã                   @   sX   d 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.é    N)Ú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-hqfrjlvz/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	   r   Zkombu.messager   Zkombu.utils.encodingr   r   r   r   r
   r
   r
   r   Ú<module>   s   