inveniosoftware/invenio — pull request #2546 by PXke (2014-11-19 23:23:02+00:00)
Title: errorlib: context support in sentry improvement

* Fix an where tags_context takes only one parameter.

* Add a security by catching and sending to sentry any
exception which could occured during the process of the
original exception for sentry.

* Add a "SentryEncoder", it is a simple encoder which will
avoid to raise exception by trying to encode all the
object. First it will try to get the dict by callin the
__dict__ attribute. If it fails then it will try to cast
the object as a string.

This is needed because sometimes we get non serializable
objects from mod_wsgi. By preprocessing data thanks to
this encoder we can ensure that the whole data will be
serializable.

This method has been implemented because in the future
if someone want to improve how we manage non serializable
object by improving the encoder, it is possible.

* Solve #2535, (closes #2535).

Signed-off-by: Guillaume Lastecoueres