diff --git a/src/ctx.c b/src/ctx.c new file mode 100644 index 0000000..0c80809 --- /dev/null +++ b/src/ctx.c @@ -0,0 +1,6 @@ +#include "ctx.h" + +ScanCtx_t ScanCtx; +WebCtx_t WebCtx; +IndexCtx_t IndexCtx; +LogCtx_t LogCtx; diff --git a/src/web/serve.c b/src/web/serve.c index f7b24ef..85b050f 100644 --- a/src/web/serve.c +++ b/src/web/serve.c @@ -68,7 +68,7 @@ void stats(struct mg_connection *nc) { void stats_files(struct mg_connection *nc, struct http_message *hm, struct mg_str *path) { if (path->len != UUID_STR_LEN + 4) { - mg_send_response_line(nc, 404, NULL); + mg_http_send_error(nc, 404, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -79,7 +79,7 @@ void stats_files(struct mg_connection *nc, struct http_message *hm, struct mg_st index_t *index = get_index_by_id(arg_uuid); if (index == NULL) { - mg_send_response_line(nc, 404, NULL); + mg_http_send_error(nc, 404, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -175,7 +175,7 @@ void thumbnail(struct mg_connection *nc, struct http_message *hm, struct mg_str if (path->len != UUID_STR_LEN * 2 + 2) { LOG_DEBUGF("serve.c", "Invalid thumbnail path: %.*s", (int) path->len, path->p) - mg_send_response_line(nc, 404, NULL); + mg_http_send_error(nc, 404, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -192,7 +192,7 @@ void thumbnail(struct mg_connection *nc, struct http_message *hm, struct mg_str int ret = uuid_parse(arg_uuid, uuid); if (ret != 0) { LOG_DEBUGF("serve.c", "Invalid thumbnail UUID: %s", arg_uuid) - mg_send_response_line(nc, 404, NULL); + mg_http_send_error(nc, 404, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -200,6 +200,7 @@ void thumbnail(struct mg_connection *nc, struct http_message *hm, struct mg_str store_t *store = get_store(arg_index); if (store == NULL) { LOG_DEBUGF("serve.c", "Could not get store for index: %s", arg_index) + mg_http_send_error(nc, 404, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -218,7 +219,7 @@ void search(struct mg_connection *nc, struct http_message *hm) { if (hm->body.len == 0) { LOG_DEBUG("serve.c", "Client sent empty body, ignoring request") - mg_send_response_line(nc, 500, NULL); + mg_http_send_error(nc, 500, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -319,7 +320,7 @@ void document_info(struct mg_connection *nc, struct http_message *hm, struct mg_ if (path->len != UUID_STR_LEN + 2) { LOG_DEBUGF("serve.c", "Invalid document_info path: %.*s", (int) path->len, path->p) - mg_send_response_line(nc, 404, NULL); + mg_http_send_error(nc, 404, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -334,7 +335,7 @@ void document_info(struct mg_connection *nc, struct http_message *hm, struct mg_ cJSON *index_id = cJSON_GetObjectItem(source, "index"); if (index_id == NULL) { cJSON_Delete(doc); - mg_send_response_line(nc, 404, NULL); + mg_http_send_error(nc, 404, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -342,7 +343,7 @@ void document_info(struct mg_connection *nc, struct http_message *hm, struct mg_ index_t *idx = get_index_by_id(index_id->valuestring); if (idx == NULL) { cJSON_Delete(doc); - mg_send_response_line(nc, 404, NULL); + mg_http_send_error(nc, 404, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -360,7 +361,7 @@ void file(struct mg_connection *nc, struct http_message *hm, struct mg_str *path if (path->len != UUID_STR_LEN + 2) { LOG_DEBUGF("serve.c", "Invalid file path: %.*s", (int) path->len, path->p) - mg_send_response_line(nc, 404, NULL); + mg_http_send_error(nc, 404, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -380,7 +381,7 @@ void file(struct mg_connection *nc, struct http_message *hm, struct mg_str *path index_id = cJSON_GetObjectItem(source, "index"); if (index_id == NULL) { cJSON_Delete(doc); - mg_send_response_line(nc, 404, NULL); + mg_http_send_error(nc, 404, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -396,7 +397,7 @@ void file(struct mg_connection *nc, struct http_message *hm, struct mg_str *path if (idx == NULL) { cJSON_Delete(doc); nc->flags |= MG_F_SEND_AND_CLOSE; - mg_send_response_line(nc, 404, NULL); + mg_http_send_error(nc, 404, NULL); return; } @@ -434,7 +435,7 @@ static void ev_router(struct mg_connection *nc, int ev, void *p) { struct http_message *hm = (struct http_message *) p; if (mg_parse_uri(hm->uri, &scheme, &user_info, &host, &port, &path, &query, &fragment) != 0) { - mg_send_response_line(nc, 400, NULL); + mg_http_send_error(nc, 400, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; return; } @@ -481,7 +482,7 @@ static void ev_router(struct mg_connection *nc, int ev, void *p) { } else if (has_prefix(&path, &((struct mg_str) MG_MK_STR("/d/")))) { document_info(nc, hm, &path); } else { - mg_send_response_line(nc, 404, NULL); + mg_http_send_error(nc, 404, NULL); nc->flags |= MG_F_SEND_AND_CLOSE; } @@ -512,7 +513,7 @@ static void ev_router(struct mg_connection *nc, int ev, void *p) { free(json_str); free(tmp); } - mg_send_response_line(nc, 500, NULL); + mg_http_send_error(nc, 500, NULL); } free_response(r);