o
    vvXj
  ã                   @   sF   d Z ddlmZmZ ddlmZ ddlmZ dgZG dd„ deƒZ	dS )	zAMQP Messages.é    )Úabsolute_importÚunicode_literalsé   )ÚGenericContent)ÚBasicÚMessagec                       sH   e Zd ZdZejZg d¢Zd‡ fd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 t| ƒjdi |¤Ž d | _|| _|| _d S )N© )Úsuperr   Ú__init__Údelivery_infoÚbodyÚchannel)Úselfr   Úchildrenr    Ú
properties©Ú	__class__r   úO/var/www/html/myproject/venv/lib/python3.10/site-packages/amqp/basic_message.pyr   i   s   
zMessage.__init__c                 C   ó   | j  d¡S )Nr   )r#   Úget©r!   r   r   r&   Úheadersp   ó   zMessage.headersc                 C   r'   )NÚdelivery_tag)r   r(   r)   r   r   r&   r,   t   r+   zMessage.delivery_tag)r   NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚCLASS_IDÚ
PROPERTIESr   Úpropertyr*   r,   Ú__classcell__r   r   r$   r&   r      s    >
N)
r0   Ú
__future__r   r   Úserializationr   Úspecr   Ú__all__r   r   r   r   r&   Ú<module>   s    
