def __encodeMessageIfNeeded()

in provider/consumer.py [0:0]


    def __encodeMessageIfNeeded(self, value):
        value = self.__getUTF8Encoding(value)

        if self.encodeValueAsJSON:
            try:
                parsed = json.loads(value, parse_constant=self.__errorOnJSONConstant, parse_float=self.__parseFloat)
                logging.debug('[{}] Successfully encoded a message as JSON.'.format(self.trigger))
                return parsed
            except ValueError as e:
                # message is not a JSON object, return the message as a JSON value
                logging.debug('[{}] I was asked to encode a message as JSON, but I failed with "{}".'.format(self.trigger, e))
                value = "\"{}\"".format(value)
                return value
        elif self.encodeValueAsBase64:
            try:
                parsed = value.encode("base64").strip()
                logging.debug('[{}] Successfully encoded a binary message.'.format(self.trigger))
                return parsed
            except:
                logging.debug('[{}] Unable to encode a binary message.'.format(self.trigger))
                pass

        logging.debug('[{}] Returning un-encoded message'.format(self.trigger))
        return value