Mercurial > hg > nginx-ranges
comparison src/http/ngx_http_variables.c @ 110:dad2fe8ecf08 NGINX_0_3_2
nginx 0.3.2
*) Feature: the Sun Studio 10 C compiler support.
*) Feature: the "proxy_upstream_max_fails",
"proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and
"fastcgi_upstream_fail_timeout" directives.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 12 Oct 2005 00:00:00 +0400 |
parents | 45f7329b4bd0 |
children | 644a7935144b |
comparison
equal
deleted
inserted
replaced
109:97da525033a1 | 110:dad2fe8ecf08 |
---|---|
30 ngx_http_variable_server_port(ngx_http_request_t *r, uintptr_t data); | 30 ngx_http_variable_server_port(ngx_http_request_t *r, uintptr_t data); |
31 static ngx_http_variable_value_t * | 31 static ngx_http_variable_value_t * |
32 ngx_http_variable_document_root(ngx_http_request_t *r, uintptr_t data); | 32 ngx_http_variable_document_root(ngx_http_request_t *r, uintptr_t data); |
33 static ngx_http_variable_value_t * | 33 static ngx_http_variable_value_t * |
34 ngx_http_variable_request_filename(ngx_http_request_t *r, uintptr_t data); | 34 ngx_http_variable_request_filename(ngx_http_request_t *r, uintptr_t data); |
35 static ngx_http_variable_value_t * | |
36 ngx_http_variable_request_method(ngx_http_request_t *r, uintptr_t data); | |
35 static ngx_http_variable_value_t * | 37 static ngx_http_variable_value_t * |
36 ngx_http_variable_remote_user(ngx_http_request_t *r, uintptr_t data); | 38 ngx_http_variable_remote_user(ngx_http_request_t *r, uintptr_t data); |
37 | 39 |
38 | 40 |
39 /* | 41 /* |
105 NGX_HTTP_VAR_NOCACHABLE, 0 }, | 107 NGX_HTTP_VAR_NOCACHABLE, 0 }, |
106 | 108 |
107 { ngx_string("server_name"), ngx_http_variable_request, | 109 { ngx_string("server_name"), ngx_http_variable_request, |
108 offsetof(ngx_http_request_t, server_name), 0, 0 }, | 110 offsetof(ngx_http_request_t, server_name), 0, 0 }, |
109 | 111 |
110 { ngx_string("request_method"), ngx_http_variable_request, | 112 { ngx_string("request_method"), ngx_http_variable_request_method, 0, 0, 0 }, |
111 offsetof(ngx_http_request_t, method_name), 0, 0 }, | |
112 | 113 |
113 { ngx_string("remote_user"), ngx_http_variable_remote_user, 0, 0, 0 }, | 114 { ngx_string("remote_user"), ngx_http_variable_remote_user, 0, 0, 0 }, |
114 | 115 |
115 { ngx_null_string, NULL, 0, 0, 0 } | 116 { ngx_null_string, NULL, 0, 0, 0 } |
116 }; | 117 }; |
639 return vv; | 640 return vv; |
640 } | 641 } |
641 | 642 |
642 | 643 |
643 static ngx_http_variable_value_t * | 644 static ngx_http_variable_value_t * |
645 ngx_http_variable_request_method(ngx_http_request_t *r, uintptr_t data) | |
646 { | |
647 ngx_http_variable_value_t *vv; | |
648 | |
649 if (r->method_name.data == NULL) { | |
650 return NGX_HTTP_VAR_NOT_FOUND; | |
651 } | |
652 | |
653 vv = ngx_palloc(r->pool, sizeof(ngx_http_variable_value_t)); | |
654 if (vv == NULL) { | |
655 return NULL; | |
656 } | |
657 | |
658 vv->value = 0; | |
659 | |
660 if (r->upstream && r->upstream->method.len) { | |
661 vv->text = r->upstream->method; | |
662 | |
663 } else { | |
664 vv->text = r->method_name; | |
665 } | |
666 | |
667 return vv; | |
668 } | |
669 | |
670 | |
671 static ngx_http_variable_value_t * | |
644 ngx_http_variable_remote_user(ngx_http_request_t *r, uintptr_t data) | 672 ngx_http_variable_remote_user(ngx_http_request_t *r, uintptr_t data) |
645 { | 673 { |
646 ngx_int_t rc; | 674 ngx_int_t rc; |
647 ngx_http_variable_value_t *vv; | 675 ngx_http_variable_value_t *vv; |
648 | 676 |