From mboxrd@z Thu Jan 1 00:00:00 1970 From: john at keeping.me.uk (John Keeping) Date: Fri, 14 Aug 2015 12:47:17 +0100 Subject: [PATCH v2 17/22] stats: move layout into page function In-Reply-To: References: Message-ID: <3c946d0c1cdd1524eb42f16d4a298a1508e8cc17.1439552492.git.john@keeping.me.uk> This also allows us to return proper HTTP error codes for invalid requests. Signed-off-by: John Keeping --- cmd.c | 2 +- ui-stats.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cmd.c b/cmd.c index ce66af9..4f8e71d 100644 --- a/cmd.c +++ b/cmd.c @@ -169,7 +169,7 @@ struct cgit_cmd *cgit_get_cmd(void) def_cmd(refs, 1, 0, 0, 0), def_cmd(repolist, 0, 0, 0, 0), def_cmd(snapshot, 1, 0, 0, 0), - def_cmd(stats, 1, 1, 1, 0), + def_cmd(stats, 1, 0, 1, 0), def_cmd(summary, 1, 1, 0, 0), def_cmd(tag, 1, 1, 0, 0), def_cmd(tree, 1, 1, 1, 0), diff --git a/ui-stats.c b/ui-stats.c index 9cd8247..74ce0f7 100644 --- a/ui-stats.c +++ b/ui-stats.c @@ -372,11 +372,13 @@ void cgit_show_stats(void) i = cgit_find_stats_period(code, &period); if (!i) { - cgit_print_error("Unknown statistics type: %c", code[0]); + cgit_print_error_page(404, "Not found", + "Unknown statistics type: %c", code[0]); return; } if (i > ctx.repo->max_stats) { - cgit_print_error("Statistics type disabled: %s", period->name); + cgit_print_error_page(400, "Bad request", + "Statistics type disabled: %s", period->name); return; } authors = collect_stats(period); @@ -387,6 +389,7 @@ void cgit_show_stats(void) if (!top) top = 10; + cgit_print_layout_start(); html("
"); html("stat options"); html("
"); @@ -421,5 +424,6 @@ void cgit_show_stats(void) } html(""); print_authors(&authors, top, period); + cgit_print_layout_end(); } -- 2.5.0.466.g9af26fa