mirror of
https://git.zx2c4.com/cgit
synced 2024-11-22 00:18:41 +00:00
Supply status description to html_status()
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
parent
65b7b876aa
commit
885096c189
4
html.c
4
html.c
@ -56,9 +56,9 @@ void htmlf(const char *format, ...)
|
|||||||
html(buf);
|
html(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void html_status(int code, int more_headers)
|
void html_status(int code, const char *msg, int more_headers)
|
||||||
{
|
{
|
||||||
htmlf("Status: %d\n", code);
|
htmlf("Status: %d %s\n", code, msg);
|
||||||
if (!more_headers)
|
if (!more_headers)
|
||||||
html("\n");
|
html("\n");
|
||||||
}
|
}
|
||||||
|
2
html.h
2
html.h
@ -6,7 +6,7 @@ extern int htmlfd;
|
|||||||
extern void html_raw(const char *txt, size_t size);
|
extern void html_raw(const char *txt, size_t size);
|
||||||
extern void html(const char *txt);
|
extern void html(const char *txt);
|
||||||
extern void htmlf(const char *format,...);
|
extern void htmlf(const char *format,...);
|
||||||
extern void html_status(int code, int more_headers);
|
extern void html_status(int code, const char *msg, int more_headers);
|
||||||
extern void html_txt(char *txt);
|
extern void html_txt(char *txt);
|
||||||
extern void html_ntxt(int len, char *txt);
|
extern void html_ntxt(int len, char *txt);
|
||||||
extern void html_attr(char *txt);
|
extern void html_attr(char *txt);
|
||||||
|
10
ui-clone.c
10
ui-clone.c
@ -48,20 +48,18 @@ static void print_pack_info(struct cgit_context *ctx)
|
|||||||
static void send_file(struct cgit_context *ctx, char *path)
|
static void send_file(struct cgit_context *ctx, char *path)
|
||||||
{
|
{
|
||||||
struct stat st;
|
struct stat st;
|
||||||
int err;
|
|
||||||
|
|
||||||
if (stat(path, &st)) {
|
if (stat(path, &st)) {
|
||||||
switch (errno) {
|
switch (errno) {
|
||||||
case ENOENT:
|
case ENOENT:
|
||||||
err = 404;
|
html_status(404, "Not found", 0);
|
||||||
break;
|
break;
|
||||||
case EACCES:
|
case EACCES:
|
||||||
err = 403;
|
html_status(403, "Forbidden", 0);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
err = 400;
|
html_status(400, "Bad request", 0);
|
||||||
}
|
}
|
||||||
html_status(err, 0);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ctx->page.mimetype = "application/octet-stream";
|
ctx->page.mimetype = "application/octet-stream";
|
||||||
@ -86,7 +84,7 @@ void cgit_clone_info(struct cgit_context *ctx)
|
|||||||
void cgit_clone_objects(struct cgit_context *ctx)
|
void cgit_clone_objects(struct cgit_context *ctx)
|
||||||
{
|
{
|
||||||
if (!ctx->qry.path) {
|
if (!ctx->qry.path) {
|
||||||
html_status(400, 0);
|
html_status(400, "Bad request", 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
10
ui-plain.c
10
ui-plain.c
@ -22,13 +22,13 @@ static void print_object(const unsigned char *sha1, const char *path)
|
|||||||
|
|
||||||
type = sha1_object_info(sha1, &size);
|
type = sha1_object_info(sha1, &size);
|
||||||
if (type == OBJ_BAD) {
|
if (type == OBJ_BAD) {
|
||||||
html_status(404, 0);
|
html_status(404, "Not found", 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
buf = read_sha1_file(sha1, &type, &size);
|
buf = read_sha1_file(sha1, &type, &size);
|
||||||
if (!buf) {
|
if (!buf) {
|
||||||
html_status(404, 0);
|
html_status(404, "Not found", 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ctx.page.mimetype = "text/plain";
|
ctx.page.mimetype = "text/plain";
|
||||||
@ -66,17 +66,17 @@ void cgit_print_plain(struct cgit_context *ctx)
|
|||||||
|
|
||||||
curr_rev = xstrdup(rev);
|
curr_rev = xstrdup(rev);
|
||||||
if (get_sha1(rev, sha1)) {
|
if (get_sha1(rev, sha1)) {
|
||||||
html_status(404, 0);
|
html_status(404, "Not found", 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
commit = lookup_commit_reference(sha1);
|
commit = lookup_commit_reference(sha1);
|
||||||
if (!commit || parse_commit(commit)) {
|
if (!commit || parse_commit(commit)) {
|
||||||
html_status(404, 0);
|
html_status(404, "Not found", 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
match_path = ctx->qry.path;
|
match_path = ctx->qry.path;
|
||||||
fprintf(stderr, "[cgit] match_path=%s", match_path);
|
fprintf(stderr, "[cgit] match_path=%s", match_path);
|
||||||
read_tree_recursive(commit->tree, NULL, 0, 0, paths, walk_tree, NULL);
|
read_tree_recursive(commit->tree, NULL, 0, 0, paths, walk_tree, NULL);
|
||||||
if (!match)
|
if (!match)
|
||||||
html_status(404, 0);
|
html_status(404, "Not found", 0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user