summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_http_static.c
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@nginx.com>2023-06-29 00:30:01 +0200
committerAlejandro Colomar <alx@nginx.com>2023-09-03 18:38:05 +0200
commitecc27ab1d4adba7223beb3b122f9b041ab6ae323 (patch)
tree3867129209eebdd661bc064055b0af9cc75af826 /src/nxt_http_static.c
parentde56ec617f148a15430d7c2d20e1db46db56c62d (diff)
downloadunit-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.c9
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;