diff options
| author | Xavier Del Campo Romero <xavi92@disroot.org> | 2026-02-12 16:59:55 +0100 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi92@disroot.org> | 2026-02-12 16:59:55 +0100 |
| commit | 87807c690947f4636dc4dd7fddca15f944719f0c (patch) | |
| tree | 0696d61b91a3e5f40a34cf09ac6c715584af5744 /include | |
| parent | 16f07314e675dd7d9d9cfb44dfb33cd81b13590d (diff) | |
Add HTTP op and resource to length callback
Users might want to know which HTTP operation (i.e., POST or PUT) and/or
resource is being requested before determining whether the request
should be accepted or not.
Diffstat (limited to 'include')
| -rw-r--r-- | include/libweb/handler.h | 4 | ||||
| -rw-r--r-- | include/libweb/http.h | 9 |
2 files changed, 7 insertions, 6 deletions
diff --git a/include/libweb/handler.h b/include/libweb/handler.h index 97fdca0..9dacdbd 100644 --- a/include/libweb/handler.h +++ b/include/libweb/handler.h @@ -10,8 +10,8 @@ typedef int (*handler_fn)(const struct http_payload *p, struct handler_cfg { const char *tmpdir; - int (*length)(unsigned long long len, const struct http_cookie *c, - struct http_response *r, void *user); + int (*length)(enum http_op op, const char *res, unsigned long long len, + const struct http_cookie *c, struct http_response *r, void *user); void *user; size_t max_headers; struct http_cfg_post post; diff --git a/include/libweb/http.h b/include/libweb/http.h index bd7769e..ad4ebcd 100644 --- a/include/libweb/http.h +++ b/include/libweb/http.h @@ -115,8 +115,9 @@ struct http_response union http_step { - int (*length)(unsigned long long len, const struct http_cookie *c, - struct http_response *r, void *user, void *args); + int (*length)(enum http_op op, const char *res, unsigned long long len, + const struct http_cookie *c, struct http_response *r, void *user, + void *args); int (*payload)(const struct http_payload *p, struct http_response *r, void *user, void *args); } step; @@ -128,8 +129,8 @@ struct http_cfg int (*write)(const void *buf, size_t n, void *user); int (*payload)(const struct http_payload *p, struct http_response *r, void *user); - int (*length)(unsigned long long len, const struct http_cookie *c, - struct http_response *r, void *user); + int (*length)(enum http_op op, const char *res, unsigned long long len, + const struct http_cookie *c, struct http_response *r, void *user); const char *tmpdir; void *user; size_t max_headers; |
