Skip to content

Commit b38f6e5

Browse files
committed
Convert FormFieldMissingError to http 400
1 parent 54cadc9 commit b38f6e5

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

plain/plain/internal/handlers/exception.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
PermissionDenied,
1010
SuspiciousOperation,
1111
)
12+
from plain.forms.exceptions import FormFieldMissingError
1213
from plain.http import Http404, ResponseServerError
1314
from plain.http.multipartparser import MultiPartParserError
1415
from plain.runtime import settings
@@ -102,6 +103,17 @@ def response_for_exception(request: Request, exc: Exception) -> Response:
102103
request=request, status_code=400, exception=None
103104
)
104105

106+
elif isinstance(exc, FormFieldMissingError):
107+
response = get_exception_response(
108+
request=request, status_code=400, exception=None
109+
)
110+
request_logger.warning(
111+
"Bad request (missing form field '%s'): %s",
112+
exc.field_name,
113+
request.path,
114+
extra={"status_code": 400, "request": request},
115+
)
116+
105117
else:
106118
response = get_exception_response(
107119
request=request, status_code=500, exception=None

0 commit comments

Comments
 (0)