comparison src/http/ngx_http_variables.c @ 1811:0d9c6fe7502b

axe useless r->server_name
author Igor Sysoev <igor@sysoev.ru>
date Sun, 30 Dec 2007 08:15:27 +0000
parents bb72f7518992
children b9de93d804ea
comparison
equal deleted inserted replaced
1810:755e09d5c271 1811:0d9c6fe7502b
44 static ngx_int_t ngx_http_variable_is_args(ngx_http_request_t *r, 44 static ngx_int_t ngx_http_variable_is_args(ngx_http_request_t *r,
45 ngx_http_variable_value_t *v, uintptr_t data); 45 ngx_http_variable_value_t *v, uintptr_t data);
46 static ngx_int_t ngx_http_variable_document_root(ngx_http_request_t *r, 46 static ngx_int_t ngx_http_variable_document_root(ngx_http_request_t *r,
47 ngx_http_variable_value_t *v, uintptr_t data); 47 ngx_http_variable_value_t *v, uintptr_t data);
48 static ngx_int_t ngx_http_variable_request_filename(ngx_http_request_t *r, 48 static ngx_int_t ngx_http_variable_request_filename(ngx_http_request_t *r,
49 ngx_http_variable_value_t *v, uintptr_t data);
50 static ngx_int_t ngx_http_variable_server_name(ngx_http_request_t *r,
49 ngx_http_variable_value_t *v, uintptr_t data); 51 ngx_http_variable_value_t *v, uintptr_t data);
50 static ngx_int_t ngx_http_variable_request_method(ngx_http_request_t *r, 52 static ngx_int_t ngx_http_variable_request_method(ngx_http_request_t *r,
51 ngx_http_variable_value_t *v, uintptr_t data); 53 ngx_http_variable_value_t *v, uintptr_t data);
52 static ngx_int_t ngx_http_variable_remote_user(ngx_http_request_t *r, 54 static ngx_int_t ngx_http_variable_remote_user(ngx_http_request_t *r,
53 ngx_http_variable_value_t *v, uintptr_t data); 55 ngx_http_variable_value_t *v, uintptr_t data);
170 172
171 { ngx_string("request_filename"), NULL, 173 { ngx_string("request_filename"), NULL,
172 ngx_http_variable_request_filename, 0, 174 ngx_http_variable_request_filename, 0,
173 NGX_HTTP_VAR_NOCACHEABLE, 0 }, 175 NGX_HTTP_VAR_NOCACHEABLE, 0 },
174 176
175 { ngx_string("server_name"), NULL, ngx_http_variable_request, 177 { ngx_string("server_name"), NULL, ngx_http_variable_server_name, 0, 0, 0 },
176 offsetof(ngx_http_request_t, server_name), 0, 0 },
177 178
178 { ngx_string("request_method"), NULL, 179 { ngx_string("request_method"), NULL,
179 ngx_http_variable_request_method, 0, 0, 0 }, 180 ngx_http_variable_request_method, 0, 0, 0 },
180 181
181 { ngx_string("remote_user"), NULL, ngx_http_variable_remote_user, 0, 0, 0 }, 182 { ngx_string("remote_user"), NULL, ngx_http_variable_remote_user, 0, 0, 0 },
707 708
708 static ngx_int_t 709 static ngx_int_t
709 ngx_http_variable_host(ngx_http_request_t *r, ngx_http_variable_value_t *v, 710 ngx_http_variable_host(ngx_http_request_t *r, ngx_http_variable_value_t *v,
710 uintptr_t data) 711 uintptr_t data)
711 { 712 {
713 ngx_http_core_srv_conf_t *cscf;
714
712 if (r->host_start == NULL) { 715 if (r->host_start == NULL) {
713 716
714 if (r->headers_in.host) { 717 if (r->headers_in.host) {
715 v->len = r->headers_in.host_name_len; 718 v->len = r->headers_in.host_name_len;
716 v->data = r->headers_in.host->value.data; 719 v->data = r->headers_in.host->value.data;
717 720
718 } else { 721 } else {
719 v->len = r->server_name.len; 722 cscf = ngx_http_get_module_srv_conf(r, ngx_http_core_module);
720 v->data = r->server_name.data; 723
724 v->len = cscf->server_name.len;
725 v->data = cscf->server_name.data;
721 } 726 }
722 727
723 } else if (r->host_end) { 728 } else if (r->host_end) {
724 v->len = r->host_end - r->host_start; 729 v->len = r->host_end - r->host_start;
725 v->data = r->host_start; 730 v->data = r->host_start;
949 v->len = path.len - 1; 954 v->len = path.len - 1;
950 v->valid = 1; 955 v->valid = 1;
951 v->no_cacheable = 0; 956 v->no_cacheable = 0;
952 v->not_found = 0; 957 v->not_found = 0;
953 v->data = path.data; 958 v->data = path.data;
959
960 return NGX_OK;
961 }
962
963
964 static ngx_int_t
965 ngx_http_variable_server_name(ngx_http_request_t *r,
966 ngx_http_variable_value_t *v, uintptr_t data)
967 {
968 ngx_http_core_srv_conf_t *cscf;
969
970 cscf = ngx_http_get_module_srv_conf(r, ngx_http_core_module);
971
972 v->len = cscf->server_name.len;
973 v->valid = 1;
974 v->no_cacheable = 0;
975 v->not_found = 0;
976 v->data = cscf->server_name.data;
954 977
955 return NGX_OK; 978 return NGX_OK;
956 } 979 }
957 980
958 981