o
    £D®f  ã                   @   s4   d Z ddlmZ ddlmZ dZG dd„ deƒZdS )zAMQP Messages.é   )ÚGenericContent)ÚBasic)ÚMessagec                       sL   e Zd ZdZejZg d¢Zd‡ fdd„	ZdZe	dd	„ ƒZ
e	d
d„ ƒZ‡  ZS )r   a  A Message for use with the Channel.basic_* methods.

    Expected arg types

        body: string
        children: (not supported)

    Keyword properties may include:

        content_type: shortstr
            MIME content type

        content_encoding: shortstr
            MIME content encoding

        application_headers: table
            Message header field table, a dict with string keys,
            and string | int | Decimal | datetime | dict values.

        delivery_mode: octet
            Non-persistent (1) or persistent (2)

        priority: octet
            The message priority, 0 to 9

        correlation_id: shortstr
            The application correlation identifier

        reply_to: shortstr
            The destination to reply to

        expiration: shortstr
            Message expiration specification

        message_id: shortstr
            The application message identifier

        timestamp: unsigned long
            The message timestamp

        type: shortstr
            The message type name

        user_id: shortstr
            The creating user id

        app_id: shortstr
            The creating application id

        cluster_id: shortstr
            Intra-cluster routing identifier

        Unicode bodies are encoded according to the 'content_encoding'
        argument. If that's None, it's set to 'UTF-8' automatically.

        Example::

            msg = Message('hello world',
                            content_type='text/plain',
                            application_headers={'foo': 7})
    ))Úcontent_typeÚs)Úcontent_encodingr   )Úapplication_headersÚF)Údelivery_modeÚo)Úpriorityr   )Úcorrelation_idr   )Úreply_tor   )Ú
expirationr   )Ú
message_idr   )Ú	timestampÚL)Útyper   )Úuser_idr   )Úapp_idr   )Ú
cluster_idr   Ú Nc                    s(   t ƒ jdi |¤Ž d | _|| _|| _d S )N© )ÚsuperÚ__init__Údelivery_infoÚbodyÚchannel)Úselfr   Úchildrenr   Ú
properties©Ú	__class__r   úK/home/ubuntu/webapp/venv/lib/python3.10/site-packages/amqp/basic_message.pyr   g   s   
zMessage.__init__)r   r   r   c                 C   ó   | j  d¡S )Nr   )r    Úget©r   r   r   r#   Úheaderst   ó   zMessage.headersc                 C   r$   )NÚdelivery_tag)r   r%   r&   r   r   r#   r)   x   r(   zMessage.delivery_tag)r   NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚCLASS_IDÚ
PROPERTIESr   Ú	__slots__Úpropertyr'   r)   Ú__classcell__r   r   r!   r#   r      s    >
r   N)r-   Úserializationr   Úspecr   Ú__all__r   r   r   r   r#   Ú<module>   s
    
