about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2015-08-14 12:47:08 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2015-08-14 15:46:51 +0200
commit58e827cbd9811500f72bf25b1db569b208661618 (patch)
tree24c7e6bb0303d86b6b013d6eb152152fac6b7fd7
parentpatch: use cgit_print_error_page() for HTTP status codes (diff)
downloadcgit-pink-58e827cbd9811500f72bf25b1db569b208661618.tar.gz
cgit-pink-58e827cbd9811500f72bf25b1db569b208661618.zip
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>
-rw-r--r--ui-snapshot.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ui-snapshot.c b/ui-snapshot.c
index bf4bcd7..9bcf13d 100644
--- a/ui-snapshot.c
+++ b/ui-snapshot.c
@@ -112,11 +112,13 @@ static int make_snapshot(const struct cgit_snapshot_format *format,
 	unsigned char sha1[20];
 
 	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;
 	}
 	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;
 	}
 	ctx.page.etag = sha1_to_hex(sha1);