stats: move layout into page function
This also allows us to return proper HTTP error codes for invalid requests. Signed-off-by: John Keeping <john@keeping.me.uk>
This commit is contained in:
orang tua
6d39dd1914
melakukan
892c5441f4
2
cmd.c
2
cmd.c
@ -169,7 +169,7 @@ struct cgit_cmd *cgit_get_cmd(void)
|
|||||||
def_cmd(refs, 1, 0, 0, 0),
|
def_cmd(refs, 1, 0, 0, 0),
|
||||||
def_cmd(repolist, 0, 0, 0, 0),
|
def_cmd(repolist, 0, 0, 0, 0),
|
||||||
def_cmd(snapshot, 1, 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(summary, 1, 1, 0, 0),
|
||||||
def_cmd(tag, 1, 1, 0, 0),
|
def_cmd(tag, 1, 1, 0, 0),
|
||||||
def_cmd(tree, 1, 1, 1, 0),
|
def_cmd(tree, 1, 1, 1, 0),
|
||||||
|
@ -372,11 +372,13 @@ void cgit_show_stats(void)
|
|||||||
|
|
||||||
i = cgit_find_stats_period(code, &period);
|
i = cgit_find_stats_period(code, &period);
|
||||||
if (!i) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
if (i > ctx.repo->max_stats) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
authors = collect_stats(period);
|
authors = collect_stats(period);
|
||||||
@ -387,6 +389,7 @@ void cgit_show_stats(void)
|
|||||||
if (!top)
|
if (!top)
|
||||||
top = 10;
|
top = 10;
|
||||||
|
|
||||||
|
cgit_print_layout_start();
|
||||||
html("<div class='cgit-panel'>");
|
html("<div class='cgit-panel'>");
|
||||||
html("<b>stat options</b>");
|
html("<b>stat options</b>");
|
||||||
html("<form method='get' action=''>");
|
html("<form method='get' action=''>");
|
||||||
@ -421,5 +424,6 @@ void cgit_show_stats(void)
|
|||||||
}
|
}
|
||||||
html("</h2>");
|
html("</h2>");
|
||||||
print_authors(&authors, top, period);
|
print_authors(&authors, top, period);
|
||||||
|
cgit_print_layout_end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Memuat…
Reference in New Issue
Block a user