tag: move layout into page function
This also allows us to return proper HTTP error codes when something goes wrong. Signed-off-by: John Keeping <john@keeping.me.uk>
This commit is contained in:
rodzic
a3daa41b78
commit
696a33b66f
2
cmd.c
2
cmd.c
@ -171,7 +171,7 @@ struct cgit_cmd *cgit_get_cmd(void)
|
|||||||
def_cmd(snapshot, 1, 0, 0, 0),
|
def_cmd(snapshot, 1, 0, 0, 0),
|
||||||
def_cmd(stats, 1, 0, 1, 0),
|
def_cmd(stats, 1, 0, 1, 0),
|
||||||
def_cmd(summary, 1, 0, 0, 0),
|
def_cmd(summary, 1, 0, 0, 0),
|
||||||
def_cmd(tag, 1, 1, 0, 0),
|
def_cmd(tag, 1, 0, 0, 0),
|
||||||
def_cmd(tree, 1, 1, 1, 0),
|
def_cmd(tree, 1, 1, 1, 0),
|
||||||
};
|
};
|
||||||
int i;
|
int i;
|
||||||
|
13
ui-tag.c
13
ui-tag.c
@ -52,20 +52,24 @@ void cgit_print_tag(char *revname)
|
|||||||
|
|
||||||
strbuf_addf(&fullref, "refs/tags/%s", revname);
|
strbuf_addf(&fullref, "refs/tags/%s", revname);
|
||||||
if (get_sha1(fullref.buf, sha1)) {
|
if (get_sha1(fullref.buf, sha1)) {
|
||||||
cgit_print_error("Bad tag reference: %s", revname);
|
cgit_print_error_page(404, "Not found",
|
||||||
|
"Bad tag reference: %s", revname);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
obj = parse_object(sha1);
|
obj = parse_object(sha1);
|
||||||
if (!obj) {
|
if (!obj) {
|
||||||
cgit_print_error("Bad object id: %s", sha1_to_hex(sha1));
|
cgit_print_error_page(500, "Internal server error",
|
||||||
|
"Bad object id: %s", sha1_to_hex(sha1));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (obj->type == OBJ_TAG) {
|
if (obj->type == OBJ_TAG) {
|
||||||
tag = lookup_tag(sha1);
|
tag = lookup_tag(sha1);
|
||||||
if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag))) {
|
if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag))) {
|
||||||
cgit_print_error("Bad tag object: %s", revname);
|
cgit_print_error_page(500, "Internal server error",
|
||||||
|
"Bad tag object: %s", revname);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
cgit_print_layout_start();
|
||||||
html("<table class='commit-info'>\n");
|
html("<table class='commit-info'>\n");
|
||||||
htmlf("<tr><td>tag name</td><td>");
|
htmlf("<tr><td>tag name</td><td>");
|
||||||
html_txt(revname);
|
html_txt(revname);
|
||||||
@ -93,7 +97,9 @@ void cgit_print_tag(char *revname)
|
|||||||
print_download_links(revname);
|
print_download_links(revname);
|
||||||
html("</table>\n");
|
html("</table>\n");
|
||||||
print_tag_content(info->msg);
|
print_tag_content(info->msg);
|
||||||
|
cgit_print_layout_end();
|
||||||
} else {
|
} else {
|
||||||
|
cgit_print_layout_start();
|
||||||
html("<table class='commit-info'>\n");
|
html("<table class='commit-info'>\n");
|
||||||
htmlf("<tr><td>tag name</td><td>");
|
htmlf("<tr><td>tag name</td><td>");
|
||||||
html_txt(revname);
|
html_txt(revname);
|
||||||
@ -104,6 +110,7 @@ void cgit_print_tag(char *revname)
|
|||||||
if (ctx.repo->snapshots)
|
if (ctx.repo->snapshots)
|
||||||
print_download_links(revname);
|
print_download_links(revname);
|
||||||
html("</table>\n");
|
html("</table>\n");
|
||||||
|
cgit_print_layout_end();
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
|
Ładowanie…
Reference in New Issue
Block a user