aschn / drf-tracking

Utils to track requests to Django Rest Framework API views
http://drf-tracking.readthedocs.org/
ISC License
366 stars 95 forks source link

UnicodeDecodeError on python 2.7 / django 1.11 #129

Open freddez opened 5 years ago

freddez commented 5 years ago

On last 1.15 version with python 2.7, response data is utf-8 encoded and causes a UnicodeError in bas_mixins.py:63 :

ipdb> data
'{"non_field_errors":["Une demande \xc3\xa0 traiter de ce type existe d\xc3\xa9j\xc3\xa0 sur cette famille."]}'
ipdb> type(data)
<type 'str'>
ipdb> print data
{"non_field_errors":["Une demande à traiter de ce type existe déjà sur cette famille."]}

I think you should add the utf-8 encoding parameter, at least in python2 :

ipdb> print data.decode('utf-8')
u'{"non_field_errors":["Une demande à traiter de ce type existe déjà sur cette famille."]}'
avelis commented 5 years ago

@freddez If you can make a PR with this check I would be happy to take a look and potentially merge.

rrauenza commented 5 years ago

Just hit this today. Wish I could just turn off response logging/parsing. Thanks for the fix. I look forward to the release...