Replacing pass with action.

This commit is contained in:
Igor Sysoev
2019-11-14 16:39:48 +03:00
parent 96cd6558ce
commit 14e56fe8c8
6 changed files with 162 additions and 110 deletions

View File

@@ -10,7 +10,7 @@
static nxt_int_t nxt_http_validate_host(nxt_str_t *host, nxt_mp_t *mp);
static void nxt_http_request_start(nxt_task_t *task, void *obj, void *data);
static void nxt_http_request_pass(nxt_task_t *task, void *obj, void *data);
static void nxt_http_request_action(nxt_task_t *task, void *obj, void *data);
static void nxt_http_request_proto_info(nxt_task_t *task,
nxt_http_request_t *r);
static void nxt_http_request_mem_buf_completion(nxt_task_t *task, void *obj,
@@ -278,33 +278,33 @@ nxt_http_request_start(nxt_task_t *task, void *obj, void *data)
static const nxt_http_request_state_t nxt_http_request_body_state
nxt_aligned(64) =
{
.ready_handler = nxt_http_request_pass,
.ready_handler = nxt_http_request_action,
.error_handler = nxt_http_request_close_handler,
};
static void
nxt_http_request_pass(nxt_task_t *task, void *obj, void *data)
nxt_http_request_action(nxt_task_t *task, void *obj, void *data)
{
nxt_http_pass_t *pass;
nxt_http_action_t *action;
nxt_http_request_t *r;
r = obj;
pass = r->conf->socket_conf->pass;
action = r->conf->socket_conf->action;
if (nxt_fast_path(pass != NULL)) {
if (nxt_fast_path(action != NULL)) {
do {
nxt_debug(task, "http request route: %V", &pass->name);
nxt_debug(task, "http request route: %V", &action->name);
pass = pass->handler(task, r, pass);
action = action->handler(task, r, action);
if (pass == NULL) {
if (action == NULL) {
return;
}
if (pass == NXT_HTTP_PASS_ERROR) {
if (action == NXT_HTTP_ACTION_ERROR) {
break;
}
@@ -315,13 +315,13 @@ nxt_http_request_pass(nxt_task_t *task, void *obj, void *data)
}
nxt_http_pass_t *
nxt_http_request_application(nxt_task_t *task, nxt_http_request_t *r,
nxt_http_pass_t *pass)
nxt_http_action_t *
nxt_http_application_handler(nxt_task_t *task, nxt_http_request_t *r,
nxt_http_action_t *action)
{
nxt_event_engine_t *engine;
nxt_debug(task, "http request application");
nxt_debug(task, "http application handler");
nxt_mp_retain(r->mem_pool);
@@ -344,7 +344,7 @@ nxt_http_request_application(nxt_task_t *task, nxt_http_request_t *r,
nxt_str_set(&r->server_name, "localhost");
}
nxt_router_process_http_request(task, r, pass->u.application);
nxt_router_process_http_request(task, r, action->u.application);
return NULL;
}