summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_router.c
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@nginx.com>2023-06-29 00:30:01 +0200
committerAlejandro Colomar <alx@kernel.org>2023-10-25 13:37:50 +0200
commit9be4b16f0c99a8dd2e56fa5cd2a153ad5683c2a3 (patch)
tree318d345a3c50d2f7a37f41c75f5730800b1f3e24 /src/nxt_router.c
parenta084e2bc8066ce2fed852bf04e5168e289bf834b (diff)
downloadunit-9be4b16f0c99a8dd2e56fa5cd2a153ad5683c2a3.tar.gz
unit-9be4b16f0c99a8dd2e56fa5cd2a153ad5683c2a3.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> Signed-off-by: Alejandro Colomar <alx@kernel.org>
Diffstat (limited to 'src/nxt_router.c')
-rw-r--r--src/nxt_router.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nxt_router.c b/src/nxt_router.c
index 4e3cb303..f578303f 100644
--- a/src/nxt_router.c
+++ b/src/nxt_router.c
@@ -4190,7 +4190,8 @@ nxt_router_response_ready_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg,
nxt_buf_chain_add(&r->out, b);
}
- nxt_http_request_header_send(task, r, nxt_http_request_send_body, NULL);
+ r->body_handler = nxt_http_request_send_body;
+ nxt_http_request_header_send(task, r);
if (r->websocket_handshake
&& r->status == NXT_HTTP_SWITCHING_PROTOCOLS)