Merge pull request #283 from TelekomLabs/enforce_message_strings_for_json

force message buffers to strings before decoding
This commit is contained in:
Sandy Walsh 2014-02-06 10:01:00 -04:00
commit d63c28ece2

View File

@ -19,6 +19,7 @@
import datetime
import sys
import time
import anyjson
import kombu
import kombu.mixins
@ -38,6 +39,7 @@ from stacktach import db
from stacktach import message_service
from stacktach import stacklog
from stacktach import views
from kombu.serialization import BytesIO, register
stacklog.set_default_logger_name('worker')
@ -61,6 +63,13 @@ class Consumer(kombu.mixins.ConsumerMixin):
self.topics = topics
self.exchange = exchange
register('bufferjson', self.loads, anyjson.dumps,
content_type='application/json',
content_encoding='binary')
def loads(s):
return anyjson.loads(BytesIO(s))
def _create_exchange(self, name, type, exclusive=False, auto_delete=False):
return message_service.create_exchange(name, exchange_type=type,
exclusive=exclusive,