This is an automated email from the ASF dual-hosted git repository.

csantanapr pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/incubator-openwhisk-package-kafka.git


The following commit(s) were added to refs/heads/master by this push:
     new 87579ec  Attempt to encode non-encoded messages (#296)
87579ec is described below

commit 87579ec7c135e0c5ad677ee8db7e86d626562a1e
Author: James Dubee <[email protected]>
AuthorDate: Fri Oct 12 15:26:20 2018 -0400

    Attempt to encode non-encoded messages (#296)
---
 provider/consumer.py | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/provider/consumer.py b/provider/consumer.py
index a061c86..12cfd75 100644
--- a/provider/consumer.py
+++ b/provider/consumer.py
@@ -469,6 +469,17 @@ class ConsumerProcess (Process):
         return offsets
 
     def __encodeMessageIfNeeded(self, value):
+        # let's make sure whatever data we're getting is utf-8 encoded
+        try:
+            value.decode('utf-8')
+        except UnicodeDecodeError:
+            try:
+                logging.warn('[{}] Value is not UTF-8 encoded. Attempting 
encoding...'.format(self.trigger))
+                value = value.encode('utf-8')
+            except UnicodeDecodeError:
+                logging.warn('[{}] Value contains non-unicode bytes. Replacing 
invalid bytes.'.format(self.trigger))
+                value = unicode(value, errors='replace').encode('utf-8')
+
         if self.encodeValueAsJSON:
             try:
                 parsed = json.loads(value)

Reply via email to