Added SERVER_ADDR parameter for Python and PHP modules.

This commit is contained in:
Igor Sysoev
2017-09-01 07:54:01 +03:00
parent 9941b0cd65
commit ff515f4312
4 changed files with 11 additions and 0 deletions

View File

@@ -108,6 +108,7 @@ typedef struct {
nxt_app_request_body_t body; nxt_app_request_body_t body;
nxt_str_t remote; nxt_str_t remote;
nxt_str_t local;
} nxt_app_request_t; } nxt_app_request_t;

View File

@@ -320,6 +320,7 @@ nxt_php_read_request(nxt_task_t *task, nxt_app_rmsg_t *rmsg,
NXT_READ(&h->version); NXT_READ(&h->version);
NXT_READ(&ctx->r.remote); NXT_READ(&ctx->r.remote);
NXT_READ(&ctx->r.local);
NXT_READ(&h->host); NXT_READ(&h->host);
NXT_READ(&h->cookie); NXT_READ(&h->cookie);
@@ -718,6 +719,7 @@ nxt_php_register_variables(zval *track_vars_array TSRMLS_DC)
NXT_PHP_SET("SERVER_PORT", server_port); NXT_PHP_SET("SERVER_PORT", server_port);
NXT_PHP_SET("REMOTE_ADDR", ctx->r.remote); NXT_PHP_SET("REMOTE_ADDR", ctx->r.remote);
NXT_PHP_SET("SERVER_ADDR", ctx->r.local);
while (nxt_app_msg_read_str(task, ctx->rmsg, &n) == NXT_OK) { while (nxt_app_msg_read_str(task, ctx->rmsg, &n) == NXT_OK) {
if (nxt_slow_path(n.length == 0)) { if (nxt_slow_path(n.length == 0)) {

View File

@@ -666,6 +666,7 @@ nxt_python_get_environ(nxt_task_t *task, nxt_app_rmsg_t *rmsg,
NXT_READ("SERVER_PROTOCOL"); NXT_READ("SERVER_PROTOCOL");
NXT_READ("REMOTE_ADDR"); NXT_READ("REMOTE_ADDR");
NXT_READ("SERVER_ADDR");
RC(nxt_app_msg_read_str(task, rmsg, &host)); RC(nxt_app_msg_read_str(task, rmsg, &host));

View File

@@ -2431,6 +2431,7 @@ nxt_router_conn_http_header_parse(nxt_task_t *task, void *obj, void *data)
nxt_int_t ret; nxt_int_t ret;
nxt_buf_t *buf; nxt_buf_t *buf;
nxt_conn_t *c; nxt_conn_t *c;
nxt_sockaddr_t *local;
nxt_app_parse_ctx_t *ap; nxt_app_parse_ctx_t *ap;
nxt_app_request_body_t *b; nxt_app_request_body_t *b;
nxt_socket_conf_joint_t *joint; nxt_socket_conf_joint_t *joint;
@@ -2461,6 +2462,10 @@ nxt_router_conn_http_header_parse(nxt_task_t *task, void *obj, void *data)
ap->r.remote.start = nxt_sockaddr_address(c->remote); ap->r.remote.start = nxt_sockaddr_address(c->remote);
ap->r.remote.length = c->remote->address_length; ap->r.remote.length = c->remote->address_length;
local = joint->socket_conf->sockaddr;
ap->r.local.start = nxt_sockaddr_address(local);
ap->r.local.length = local->address_length;
ap->r.header.buf = buf; ap->r.header.buf = buf;
} }
@@ -2781,6 +2786,7 @@ nxt_python_prepare_msg(nxt_task_t *task, nxt_app_request_t *r,
NXT_WRITE(&h->version); NXT_WRITE(&h->version);
NXT_WRITE(&r->remote); NXT_WRITE(&r->remote);
NXT_WRITE(&r->local);
NXT_WRITE(&h->host); NXT_WRITE(&h->host);
NXT_WRITE(&h->content_type); NXT_WRITE(&h->content_type);
@@ -2864,6 +2870,7 @@ nxt_php_prepare_msg(nxt_task_t *task, nxt_app_request_t *r,
// DOCUMENT_ROOT // DOCUMENT_ROOT
NXT_WRITE(&r->remote); NXT_WRITE(&r->remote);
NXT_WRITE(&r->local);
NXT_WRITE(&h->host); NXT_WRITE(&h->host);
NXT_WRITE(&h->cookie); NXT_WRITE(&h->cookie);