diff options
author | Alejandro Colomar <alx@nginx.com> | 2023-06-29 00:30:01 +0200 |
---|---|---|
committer | Alejandro Colomar <alx@nginx.com> | 2023-09-03 18:38:05 +0200 |
commit | ecc27ab1d4adba7223beb3b122f9b041ab6ae323 (patch) | |
tree | 3867129209eebdd661bc064055b0af9cc75af826 /src/nxt_http_static.c | |
parent | de56ec617f148a15430d7c2d20e1db46db56c62d (diff) | |
download | unit-ecc27ab1d4adba7223beb3b122f9b041ab6ae323.tar.gz unit-ecc27ab1d4adba7223beb3b122f9b041ab6ae323.tar.bz2 |
HTTP: refactor: storing the body_handler as part of r.
This will allow sending the header from a totally different point, since
the data for the call is present in the request, which is available
everywhere.
It will also allow consulting in a filter if there is a body_handler
installed. The gzip filter will need this, as it should be a no-op if
there is no body handler installed.
Signed-off-by: Alejandro Colomar <alx@nginx.com>
Diffstat (limited to '')
-rw-r--r-- | src/nxt_http_static.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/nxt_http_static.c b/src/nxt_http_static.c index e51ba6b0..fc26924d 100644 --- a/src/nxt_http_static.c +++ b/src/nxt_http_static.c @@ -317,7 +317,6 @@ nxt_http_static_send_ready(nxt_task_t *task, void *obj, void *data) nxt_router_conf_t *rtcf; nxt_http_action_t *action; nxt_http_request_t *r; - nxt_work_handler_t body_handler; nxt_http_static_ctx_t *ctx; nxt_http_static_conf_t *conf; @@ -584,11 +583,11 @@ nxt_http_static_send_ready(nxt_task_t *task, void *obj, void *data) r->out = fb; - body_handler = &nxt_http_static_body_handler; + r->body_handler = &nxt_http_static_body_handler; } else { nxt_file_close(task, f); - body_handler = NULL; + r->body_handler = NULL; } } else { @@ -646,10 +645,10 @@ nxt_http_static_send_ready(nxt_task_t *task, void *obj, void *data) nxt_memcpy(p, r->args->start, r->args->length); } - body_handler = NULL; + r->body_handler = NULL; } - nxt_http_request_header_send(task, r, body_handler, NULL); + nxt_http_request_header_send(task, r); r->state = &nxt_http_static_send_state; return; |