You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Suggestion - add django_json_404_middleware.JSON404Middleware to the middleware.
Currently, if someone mistypes a URL such that the API returns a 404 and then they go to look at the JSON-formatted response, they get a decoding error:
>>> from requests import Session
>>> s = Session()
>>> r = s.get("http://127.0.0.1:8000/api/statuscori")
>>> r.json()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/rowlandk/anaconda3/lib/python3.6/site-packages/requests/models.py", line 763, in json
return json.loads(self.text, **kwargs)
File "/Users/rowlandk/anaconda3/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "/Users/rowlandk/anaconda3/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/Users/rowlandk/anaconda3/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
with this middleware installed, the user sees a more friendly error message:
>>> r = s.get("http://127.0.0.1:8000/api/statuscori")
>>> r.json()
{'detail': '/api/statuscori not found'}
Suggestion - add
django_json_404_middleware.JSON404Middleware
to the middleware.Currently, if someone mistypes a URL such that the API returns a 404 and then they go to look at the JSON-formatted response, they get a decoding error:
with this middleware installed, the user sees a more friendly error message:
Project here: https://pypi.org/project/django-json-404-middleware/
The text was updated successfully, but these errors were encountered: