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.'))