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