Changing the sequence of body send execution.

Request state ready_handler required for further websocket events processing.
It is not required for regular response transferring.
This commit is contained in:
Max Romanov
2019-08-16 14:55:18 +03:00
parent 29911538ea
commit 686f5b1436
3 changed files with 11 additions and 11 deletions

View File

@@ -3540,9 +3540,14 @@ 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);
r->state = &nxt_http_request_send_state;
nxt_http_request_header_send(task, r);
if (r->out) {
nxt_work_queue_add(&task->thread->engine->fast_work_queue,
nxt_http_request_send_body, task, r, NULL);
}
}
return;
@@ -3558,7 +3563,6 @@ fail:
static const nxt_http_request_state_t nxt_http_request_send_state
nxt_aligned(64) =
{
.ready_handler = nxt_http_request_send_body,
.error_handler = nxt_http_request_error_handler,
};