Esempio n. 1
0
    def process_message(self, parsed_message):
        logger.debug('Message processing. %s', str(parsed_message))

        function = encrypt_functions[parsed_message['method']]
        decrypted_message = function(parsed_message['text'])

        return self._prepare_decrypted_message(
            parsed_message, decrypted_message
        )
Esempio n. 2
0
    def run(self):
        while True:
            message = self.read_message()

            if not message:
                logger.debug('Queue empty, sleeping...')
                time.sleep(self.read_interval)
                continue

            try:
                parsed_message = self.validate_message(message)
            except ValidationException:
                logger.exception('Cannot validate message')
                self.delete_message(message)
                continue

            encrypted_message = self.process_message(parsed_message)

            self.save_message(encrypted_message)
            self.delete_message(message)
Esempio n. 3
0
 def save_message(self, message):
     logger.debug('Saving message in output queue. %s', str(message))
     message_text = json.dumps(message)
     self.queue_manager.put_message(self.output_queue, message_text)
Esempio n. 4
0
 def delete_message(self, message):
     logger.debug('Removing message from input queue')
     self.queue_manager.delete_message(self.input_queue, message)