Return HTTP 405 on InvalidUsage rather than 500

This also stops it filling up the logs. This happens for HEAD requests
at the moment - which perhaps should be handled better, but that's a
different issue.
plugins
Russ Garrett 2018-04-14 17:11:16 +01:00 zatwierdzone przez Simon Willison
rodzic 8d394586f5
commit efbb4e8337
1 zmienionych plików z 5 dodań i 1 usunięć

Wyświetl plik

@ -1,6 +1,6 @@
from sanic import Sanic
from sanic import response
from sanic.exceptions import NotFound
from sanic.exceptions import NotFound, InvalidUsage
from sanic.views import HTTPMethodView
from sanic.request import RequestParameters
from jinja2 import Environment, FileSystemLoader, ChoiceLoader, PrefixLoader
@ -1258,6 +1258,10 @@ class Datasette:
status = 404
info = {}
message = exception.args[0]
elif isinstance(exception, InvalidUsage):
status = 405
info = {}
message = exception.args[0]
elif isinstance(exception, DatasetteError):
status = exception.status
info = exception.error_dict