summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_router.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nxt_router.c')
-rw-r--r--src/nxt_router.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/nxt_router.c b/src/nxt_router.c
index d2486c9f..af9dad29 100644
--- a/src/nxt_router.c
+++ b/src/nxt_router.c
@@ -4191,8 +4191,13 @@ nxt_router_response_ready_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg,
if (r->header_sent) {
nxt_buf_chain_add(&r->out, b);
- nxt_http_request_send_body(task, r, NULL);
+ ret = nxt_http_comp_compress_app_response(task, r, &r->out);
+ if (ret == NXT_ERROR) {
+ goto fail;
+ }
+
+ nxt_http_request_send_body(task, r, NULL);
} else {
b_size = nxt_buf_is_mem(b) ? nxt_buf_mem_used_size(&b->mem) : 0;
@@ -4272,6 +4277,11 @@ nxt_router_response_ready_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg,
nxt_buf_chain_add(&r->out, b);
}
+ ret = nxt_http_comp_check_compression(task, r);
+ if (ret != NXT_OK) {
+ goto fail;
+ }
+
nxt_http_request_header_send(task, r, nxt_http_request_send_body, NULL);
if (r->websocket_handshake