Do not fire trigger with invalid JSON (#319)
* Do not fire trigger with JSON constants
* Update parameter list
diff --git a/provider/consumer.py b/provider/consumer.py
index 84e1e2d..d4863ce 100644
--- a/provider/consumer.py
+++ b/provider/consumer.py
@@ -485,7 +485,7 @@
if self.encodeValueAsJSON:
try:
- parsed = json.loads(value)
+ parsed = json.loads(value, parse_constant=self.__errorOnJSONConstant)
logging.debug('[{}] Successfully encoded a message as JSON.'.format(self.trigger))
return parsed
except ValueError:
@@ -523,3 +523,6 @@
def __on_revoke(self, consumer, partitions):
logging.info('[{}] Partition assignment has been revoked. Disconnected from broker(s)'.format(self.trigger))
+
+ def __errorOnJSONConstant(self, data):
+ raise(ValueError('Invalid JSON detected.'))