snapshot: use cgit_print_error_page() for HTTP status codes

This is a bugfix as well as an improvement to the HTTP status code
handling since previously we would not print HTTP headers on any of
these code paths.

Signed-off-by: John Keeping <john@keeping.me.uk>
This commit is contained in:
John Keeping 2015-08-14 12:47:08 +01:00 committed by Jason A. Donenfeld
parent e3e41e5125
commit 58e827cbd9

View File

@ -112,11 +112,13 @@ static int make_snapshot(const struct cgit_snapshot_format *format,
unsigned char sha1[20]; unsigned char sha1[20];
if (get_sha1(hex, sha1)) { if (get_sha1(hex, sha1)) {
cgit_print_error("Bad object id: %s", hex); cgit_print_error_page(404, "Not found",
"Bad object id: %s", hex);
return 1; return 1;
} }
if (!lookup_commit_reference(sha1)) { if (!lookup_commit_reference(sha1)) {
cgit_print_error("Not a commit reference: %s", hex); cgit_print_error_page(400, "Bad request",
"Not a commit reference: %s", hex);
return 1; return 1;
} }
ctx.page.etag = sha1_to_hex(sha1); ctx.page.etag = sha1_to_hex(sha1);