Issue Summary
We are using this library in a celery background task, using celery. (through the sendgrid library, and actually django-celery-email).
When errors happen with the sendgrid API (like a BAD REQUEST), celery can handle this exception and normally pickle it to return it to the caller.
Currently we are seeing a PicklingError where the exception type from this library can be pickled.
As seen in this issue the problem is that in the custom exception types super() is not called.
Exception/Log
line breaks added for readability
ERROR [none] celery.worker.request:
Task handler raised error: <MaybeEncodingError: Error sending result:
''(1, <ExceptionInfo: BadRequestsError("<HTTPError 400: \'Bad Request\'>",)>, None)''.
Reason: ''PicklingError("Can\'t pickle
<class \'python_http_client.exceptions.BadRequestsError\'>: it\'s not
the same object as python_http_client.exceptions.BadRequestsError",)''.>
Technical details:
- python-http-client version:
3.2.1
- python version:
3.6.10
Issue Summary
We are using this library in a celery background task, using celery. (through the
sendgridlibrary, and actuallydjango-celery-email).When errors happen with the sendgrid API (like a BAD REQUEST), celery can handle this exception and normally pickle it to return it to the caller.
Currently we are seeing a
PicklingErrorwhere the exception type from this library can be pickled.As seen in this issue the problem is that in the custom exception types
super()is not called.Exception/Log
line breaks added for readability
Technical details:
3.2.13.6.10