How to use the amqpstorm.message.Message function in AMQPStorm

To help you get started, we’ve selected a few AMQPStorm examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github eandersson / amqpstorm / amqpstorm / channel.py View on Github external
"""Fetch and build a complete Message from the inbound queue.

        :param bool auto_decode: Auto-decode strings when possible.

        :rtype: Message
        """
        with self.lock:
            if len(self._inbound) < 2:
                return None
            headers = self._build_message_headers()
            if not headers:
                return None
            basic_deliver, content_header = headers
            body = self._build_message_body(content_header.body_size)

        message = Message(channel=self,
                          body=body,
                          method=dict(basic_deliver),
                          properties=dict(content_header.properties),
                          auto_decode=auto_decode)
        return message
github eandersson / amqpstorm / amqpstorm / message.py View on Github external
def __init__(self, channel, auto_decode=True, **message):
        """
        :param Channel channel: AMQPStorm Channel
        :param bool auto_decode: Auto-decode strings when possible. Does not
                                 apply to to_dict, or to_tuple.
        :param bytes|str|unicode body: Message payload
        :param dict method: Message method
        :param dict properties: Message properties
        """
        super(Message, self).__init__(channel, **message)
        self._decode_cache = dict()
        self._auto_decode = auto_decode
github fake-name / wlnupdates / amqpstorm / channel.py View on Github external
"""Fetch and build a complete Message from the inbound queue.

        :param bool auto_decode: Auto-decode strings when possible.

        :rtype: Message
        """
        with self.lock:
            if len(self._inbound) < 2:
                return None
            headers = self._build_message_headers()
            if not headers:
                return None
            basic_deliver, content_header = headers
            body = self._build_message_body(content_header.body_size)

        message = Message(channel=self,
                          body=body,
                          method=dict(basic_deliver),
                          properties=dict(content_header.properties),
                          auto_decode=auto_decode)
        return message
github eandersson / amqpstorm / amqpstorm / management / basic.py View on Github external
}
        )
        virtual_host = quote(virtual_host, '')
        response = self.http_client.post(API_BASIC_GET_MESSAGE %
                                         (
                                             virtual_host,
                                             queue
                                         ),
                                         payload=get_messages)
        if to_dict:
            return response
        messages = []
        for message in response:
            if 'payload' in message:
                message['body'] = message.pop('payload')
            messages.append(Message(channel=None, auto_decode=True, **message))
        return messages
github fake-name / ReadableWebProxy / amqpstorm / channel.py View on Github external
"""Fetch and build a complete Message from the inbound queue.

        :param bool auto_decode: Auto-decode strings when possible.

        :rtype: Message
        """
        with self.lock:
            if len(self._inbound) < 2:
                return None
            headers = self._build_message_headers()
            if not headers:
                return None
            basic_deliver, content_header = headers
            body = self._build_message_body(content_header.body_size)

        message = Message(channel=self,
                          body=body,
                          method=dict(basic_deliver),
                          properties=dict(content_header.properties),
                          auto_decode=auto_decode)
        return message
github fake-name / wlnupdates / amqpstorm / basic.py View on Github external
)
        try:
            self._channel.write_frame(get_frame)
            get_ok_frame = self._channel.rpc.get_request(message_uuid,
                                                         raw=True,
                                                         multiple=True)
            if isinstance(get_ok_frame, specification.Basic.GetEmpty):
                return None
            content_header = self._channel.rpc.get_request(message_uuid,
                                                           raw=True,
                                                           multiple=True)
            body = self._get_content_body(message_uuid,
                                          content_header.body_size)
        finally:
            self._channel.rpc.remove(message_uuid)
        return Message(channel=self._channel,
                       body=body,
                       method=dict(get_ok_frame),
                       properties=dict(content_header.properties),
                       auto_decode=auto_decode)
github eandersson / amqpstorm / amqpstorm / basic.py View on Github external
)
        try:
            self._channel.write_frame(get_frame)
            get_ok_frame = self._channel.rpc.get_request(message_uuid,
                                                         raw=True,
                                                         multiple=True)
            if isinstance(get_ok_frame, specification.Basic.GetEmpty):
                return None
            content_header = self._channel.rpc.get_request(message_uuid,
                                                           raw=True,
                                                           multiple=True)
            body = self._get_content_body(message_uuid,
                                          content_header.body_size)
        finally:
            self._channel.rpc.remove(message_uuid)
        return Message(channel=self._channel,
                       body=body,
                       method=dict(get_ok_frame),
                       properties=dict(content_header.properties),
                       auto_decode=auto_decode)
github eandersson / amqpstorm / amqpstorm / message.py View on Github external
:param Channel channel: AMQPStorm Channel
        :param bytes|str|unicode body: Message payload
        :param dict properties: Message properties

        :rtype: Message
        """
        properties = properties or {}
        if 'correlation_id' not in properties:
            properties['correlation_id'] = str(uuid.uuid4())
        if 'message_id' not in properties:
            properties['message_id'] = str(uuid.uuid4())
        if 'timestamp' not in properties:
            properties['timestamp'] = datetime.utcnow()

        return Message(channel, auto_decode=False,
                       body=body, properties=properties)