denis-trofimov/learnpython

Calling process_webhook_async.delay(payload): Object of type 'bytes' is not JSON serializable.

Closed this issue · 1 comments

On handling real request, not a test.

process_webhook_async.delay(payload)

Internal Server Error: /webhooks/timepad_ticket_status_webhook
Traceback (most recent call last):
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/serialization.py", line 50, in _reraise_errors
    yield
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/serialization.py", line 221, in dumps
    payload = encoder(data)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/utils/json.py", line 69, in dumps
    **dict(default_kwargs, **kwargs))
  File "/usr/lib/python3.6/json/__init__.py", line 238, in dumps
    **kw).encode(obj)
  File "/usr/lib/python3.6/json/encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python3.6/json/encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/utils/json.py", line 59, in default
    return super(JSONEncoder, self).default(o)
  File "/usr/lib/python3.6/json/encoder.py", line 180, in default
    o.__class__.__name__)
TypeError: Object of type 'bytes' is not JSON serializable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner
    response = get_response(request)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/django/core/handlers/base.py", line 128, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/denis/p/learnpython/landing_page/timepad_mail/views.py", line 36, in handle_webhook
    process_webhook_async.delay(payload)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/celery/app/task.py", line 408, in delay
    return self.apply_async(args, kwargs)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/celery/app/task.py", line 535, in apply_async
    **options
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/celery/app/base.py", line 745, in send_task
    amqp.send_task_message(P, name, message, **options)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/celery/app/amqp.py", line 552, in send_task_message
    **properties
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/messaging.py", line 169, in publish
    compression, headers)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/messaging.py", line 252, in _prepare
    body) = dumps(body, serializer=serializer)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/serialization.py", line 221, in dumps
    payload = encoder(data)
  File "/usr/lib/python3.6/contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/serialization.py", line 54, in _reraise_errors
    reraise(wrapper, wrapper(exc), sys.exc_info()[2])
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/vine/five.py", line 178, in reraise
    raise value.with_traceback(tb)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/serialization.py", line 50, in _reraise_errors
    yield
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/serialization.py", line 221, in dumps
    payload = encoder(data)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/utils/json.py", line 69, in dumps
    **dict(default_kwargs, **kwargs))
  File "/usr/lib/python3.6/json/__init__.py", line 238, in dumps
    **kw).encode(obj)
  File "/usr/lib/python3.6/json/encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python3.6/json/encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
  File "/home/denis/p/learnpython/env/lib/python3.6/site-packages/kombu/utils/json.py", line 59, in default
    return super(JSONEncoder, self).default(o)
  File "/usr/lib/python3.6/json/encoder.py", line 180, in default
    o.__class__.__name__)
kombu.exceptions.EncodeError: Object of type 'bytes' is not JSON serializable
"POST /webhooks/timepad_ticket_status_webhook HTTP/1.1" 500 308141