aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2015-08-14 12:47:02 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2015-08-14 15:46:51 +0200
commite9b71ae6fe910573156c4632a314b7dbf84d7b64 (patch)
tree9a5cc0a7f72fdea70f9076c7d2b81b8b69b0de32
parentaec1204a54e3baa12c76db75c2f67696def05eb0 (diff)
downloadcgit-e9b71ae6fe910573156c4632a314b7dbf84d7b64.tar.gz
cgit-e9b71ae6fe910573156c4632a314b7dbf84d7b64.tar.bz2
cgit: use cgit_print_error_page() where appropriate
These are more-or-less one-to-one translations but in the final hunk we gain an HTTP error code where we used to send "200 OK", which is an improvement. Signed-off-by: John Keeping <john@keeping.me.uk>
-rw-r--r--cgit.c27
1 files changed, 7 insertions, 20 deletions
diff --git a/cgit.c b/cgit.c
index d84b4be..3a97563 100644
--- a/cgit.c
+++ b/cgit.c
@@ -614,13 +614,8 @@ static int prepare_repo_cmd(void)
if (get_sha1(ctx.qry.head, sha1)) {
char *tmp = xstrdup(ctx.qry.head);
ctx.qry.head = ctx.repo->defbranch;
- ctx.page.status = 404;
- ctx.page.statusmsg = "Not found";
- cgit_print_http_headers();
- cgit_print_docstart();
- cgit_print_pageheader();
- cgit_print_error("Invalid branch: %s", tmp);
- cgit_print_docend();
+ cgit_print_error_page(404, "Not found",
+ "Invalid branch: %s", tmp);
free(tmp);
return 1;
}
@@ -713,18 +708,13 @@ static void process_request(void)
cmd = cgit_get_cmd();
if (!cmd) {
ctx.page.title = "cgit error";
- ctx.page.status = 404;
- ctx.page.statusmsg = "Not found";
- cgit_print_http_headers();
- cgit_print_docstart();
- cgit_print_pageheader();
- cgit_print_error("Invalid request");
- cgit_print_docend();
+ cgit_print_error_page(404, "Not found", "Invalid request");
return;
}
if (!ctx.cfg.enable_http_clone && cmd->is_clone) {
- html_status(404, "Not found", 0);
+ ctx.page.title = "cgit error";
+ cgit_print_error_page(404, "Not found", "Invalid request");
return;
}
@@ -735,11 +725,8 @@ static void process_request(void)
ctx.qry.vpath = cmd->want_vpath ? ctx.qry.path : NULL;
if (cmd->want_repo && !ctx.repo) {
- cgit_print_http_headers();
- cgit_print_docstart();
- cgit_print_pageheader();
- cgit_print_error("No repository selected");
- cgit_print_docend();
+ cgit_print_error_page(400, "Bad request",
+ "No repository selected");
return;
}