From 6cbfc2a43f19182942ad425877f0c5a4d3d7200f Mon Sep 17 00:00:00 2001 From: Andriy Gelman Date: Tue, 10 Mar 2020 23:20:04 -0400 Subject: views: Return Http404 if patch not found Otherwise exception DoesNotExist shows error 500 on Apache Signed-off-by: Andriy Gelman Signed-off-by: Stephen Finucane Closes: #343 --- patchwork/views/patch.py | 4 ++-- releasenotes/notes/issue-343-cb591d031cd58b61.yaml | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/issue-343-cb591d031cd58b61.yaml diff --git a/patchwork/views/patch.py b/patchwork/views/patch.py index f34053c..b368cfa 100644 --- a/patchwork/views/patch.py +++ b/patchwork/views/patch.py @@ -41,7 +41,7 @@ def patch_detail(request, project_id, msgid): # redirect to cover letters where necessary try: patch = Patch.objects.get(project_id=project.id, msgid=db_msgid) - except Patch.DoesNotExist as exc: + except Patch.DoesNotExist: submissions = Submission.objects.filter(project_id=project.id, msgid=db_msgid) if submissions: @@ -49,7 +49,7 @@ def patch_detail(request, project_id, msgid): reverse('cover-detail', kwargs={'project_id': project.linkname, 'msgid': msgid})) - raise exc + raise Http404('Patch does not exist') editable = patch.is_editable(request.user) context = { diff --git a/releasenotes/notes/issue-343-cb591d031cd58b61.yaml b/releasenotes/notes/issue-343-cb591d031cd58b61.yaml new file mode 100644 index 0000000..8743676 --- /dev/null +++ b/releasenotes/notes/issue-343-cb591d031cd58b61.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Previously, attempting to retrieve a patch that did not exist would result + in a ``HTTP 500`` (Internal Server Error) being raised. This has been + corrected and a ``HTTP 404`` (Not Found) is now raised instead. -- cgit v1.2.3