main.c: Refactor calls to handler_add
This commit is contained in:
parent
bec528a979
commit
b2037fea90
52
main.c
52
main.c
|
@ -1911,6 +1911,44 @@ end:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int add_urls(struct handler *const h, void *const user)
|
||||
{
|
||||
static const struct url
|
||||
{
|
||||
const char *url;
|
||||
enum http_op op;
|
||||
handler_fn f;
|
||||
} urls[] =
|
||||
{
|
||||
{.url = "/", .op = HTTP_OP_GET, .f = serve_index},
|
||||
{.url = "/index.html", .op = HTTP_OP_GET, .f = serve_index},
|
||||
{.url = "/style.css", .op = HTTP_OP_GET, .f = serve_style},
|
||||
{.url = "/user/*", .op = HTTP_OP_GET, .f = getnode},
|
||||
{.url = "/login", .op = HTTP_OP_POST, .f = login},
|
||||
{.url = "/logout", .op = HTTP_OP_POST, .f = logout},
|
||||
{.url = "/public/*", .op = HTTP_OP_GET, .f = getpublic},
|
||||
{.url = "/search", .op = HTTP_OP_POST, .f = search},
|
||||
{.url = "/share", .op = HTTP_OP_POST, .f = share},
|
||||
{.url = "/upload", .op = HTTP_OP_POST, .f = upload},
|
||||
{.url = "/mkdir", .op = HTTP_OP_POST, .f = createdir},
|
||||
{.url = "/confirm/rm", .op = HTTP_OP_POST, .f = confirm_rm},
|
||||
{.url = "/rm", .op = HTTP_OP_POST, .f = rm}
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < sizeof urls / sizeof *urls; i++)
|
||||
{
|
||||
const struct url *const u = &urls[i];
|
||||
|
||||
if (handler_add(h, u->url, u->op, u->f, user))
|
||||
{
|
||||
fprintf(stderr, "%s: handler_add %s failed\n", __func__, u->url);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ret = EXIT_FAILURE;
|
||||
|
@ -1933,19 +1971,7 @@ int main(int argc, char *argv[])
|
|||
};
|
||||
|
||||
if (!(h = handler_alloc(&cfg))
|
||||
|| handler_add(h, "/", HTTP_OP_GET, serve_index, a)
|
||||
|| handler_add(h, "/index.html", HTTP_OP_GET, serve_index, a)
|
||||
|| handler_add(h, "/style.css", HTTP_OP_GET, serve_style, a)
|
||||
|| handler_add(h, "/user/*", HTTP_OP_GET, getnode, a)
|
||||
|| handler_add(h, "/login", HTTP_OP_POST, login, a)
|
||||
|| handler_add(h, "/logout", HTTP_OP_POST, logout, a)
|
||||
|| handler_add(h, "/public/*", HTTP_OP_GET, getpublic, a)
|
||||
|| handler_add(h, "/search", HTTP_OP_POST, search, a)
|
||||
|| handler_add(h, "/share", HTTP_OP_POST, share, a)
|
||||
|| handler_add(h, "/upload", HTTP_OP_POST, upload, a)
|
||||
|| handler_add(h, "/mkdir", HTTP_OP_POST, createdir, a)
|
||||
|| handler_add(h, "/confirm/rm", HTTP_OP_POST, confirm_rm, a)
|
||||
|| handler_add(h, "/rm", HTTP_OP_POST, rm, a)
|
||||
|| add_urls(h, a)
|
||||
|| handler_listen(h, port))
|
||||
goto end;
|
||||
|
||||
|
|
Loading…
Reference in New Issue