Esempio n. 1
0
    def _check_for_rpc_request(self, value):
        """Inspect a frame to see if it's a RPC request from RabbitMQ.

        :param spec.Frame value:

        """
        super(Channel, self)._check_for_rpc_request(value)
        if isinstance(value, spec.Basic.Return):
            self._on_basic_return(self._wait_for_content_frames(value))
        elif isinstance(value, spec.Basic.Cancel):
            self._waiting = False
            if value.consumer_tag in self._consumers:
                del self._consumers[value.consumer_tag]
            raise exceptions.RemoteCancellationException(value.consumer_tag)
Esempio n. 2
0
    def _check_for_rpc_request(self, value):
        """Inspect a frame to see if it's a RPC request from RabbitMQ.

        :param spec.Frame value:

        """
        LOGGER.debug('Checking for RPC request: %r', value)
        super(Channel, self)._check_for_rpc_request(value)
        if isinstance(value, spec.Basic.Return):
            raise exceptions.MessageReturnedException(value.reply_code,
                                                      value.reply_text,
                                                      value.exchange,
                                                      value.routing_key)
        elif isinstance(value, spec.Basic.Cancel):
            self._waiting = False
            if value.consumer_tag in self._consumers:
                del self._consumers[value.consumer_tag]
            raise exceptions.RemoteCancellationException(value.consumer_tag)