Mercurial > hg > nginx-ranges
comparison src/http/ngx_http_variables.h @ 635:e67b227c8dbb default tip
Merge with current.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 25 Apr 2011 04:07:55 +0400 |
parents | 8214eaef3530 |
children |
comparison
equal
deleted
inserted
replaced
578:f3a9e57d2e17 | 635:e67b227c8dbb |
---|---|
48 ngx_uint_t index); | 48 ngx_uint_t index); |
49 ngx_http_variable_value_t *ngx_http_get_flushed_variable(ngx_http_request_t *r, | 49 ngx_http_variable_value_t *ngx_http_get_flushed_variable(ngx_http_request_t *r, |
50 ngx_uint_t index); | 50 ngx_uint_t index); |
51 | 51 |
52 ngx_http_variable_value_t *ngx_http_get_variable(ngx_http_request_t *r, | 52 ngx_http_variable_value_t *ngx_http_get_variable(ngx_http_request_t *r, |
53 ngx_str_t *name, ngx_uint_t key, ngx_uint_t nowarn); | 53 ngx_str_t *name, ngx_uint_t key); |
54 | 54 |
55 ngx_int_t ngx_http_variable_unknown_header(ngx_http_variable_value_t *v, | 55 ngx_int_t ngx_http_variable_unknown_header(ngx_http_variable_value_t *v, |
56 ngx_str_t *var, ngx_list_part_t *part, size_t prefix); | 56 ngx_str_t *var, ngx_list_part_t *part, size_t prefix); |
57 | 57 |
58 | 58 |
74 ngx_uint_t nvariables; | 74 ngx_uint_t nvariables; |
75 ngx_str_t name; | 75 ngx_str_t name; |
76 } ngx_http_regex_t; | 76 } ngx_http_regex_t; |
77 | 77 |
78 | 78 |
79 typedef struct { | |
80 ngx_http_regex_t *regex; | |
81 void *value; | |
82 } ngx_http_map_regex_t; | |
83 | |
84 | |
79 ngx_http_regex_t *ngx_http_regex_compile(ngx_conf_t *cf, | 85 ngx_http_regex_t *ngx_http_regex_compile(ngx_conf_t *cf, |
80 ngx_regex_compile_t *rc); | 86 ngx_regex_compile_t *rc); |
81 ngx_int_t ngx_http_regex_exec(ngx_http_request_t *r, ngx_http_regex_t *re, | 87 ngx_int_t ngx_http_regex_exec(ngx_http_request_t *r, ngx_http_regex_t *re, |
82 ngx_str_t *s); | 88 ngx_str_t *s); |
83 | 89 |
84 #endif | 90 #endif |
85 | 91 |
86 | 92 |
93 typedef struct { | |
94 ngx_hash_combined_t hash; | |
95 #if (NGX_PCRE) | |
96 ngx_http_map_regex_t *regex; | |
97 ngx_uint_t nregex; | |
98 #endif | |
99 } ngx_http_map_t; | |
100 | |
101 | |
102 void *ngx_http_map_find(ngx_http_request_t *r, ngx_http_map_t *map, | |
103 ngx_uint_t key, u_char *text, size_t len, ngx_str_t *match); | |
104 | |
105 | |
87 ngx_int_t ngx_http_variables_add_core_vars(ngx_conf_t *cf); | 106 ngx_int_t ngx_http_variables_add_core_vars(ngx_conf_t *cf); |
88 ngx_int_t ngx_http_variables_init_vars(ngx_conf_t *cf); | 107 ngx_int_t ngx_http_variables_init_vars(ngx_conf_t *cf); |
89 | |
90 | |
91 typedef struct { | |
92 ngx_rbtree_node_t node; | |
93 size_t len; | |
94 ngx_http_variable_value_t *value; | |
95 } ngx_http_variable_value_node_t; | |
96 | |
97 | |
98 void ngx_http_variable_value_rbtree_insert(ngx_rbtree_node_t *temp, | |
99 ngx_rbtree_node_t *node, ngx_rbtree_node_t *sentinel); | |
100 ngx_http_variable_value_t *ngx_http_variable_value_lookup(ngx_rbtree_t *rbtree, | |
101 ngx_str_t *name, uint32_t hash); | |
102 | 108 |
103 | 109 |
104 extern ngx_http_variable_value_t ngx_http_variable_null_value; | 110 extern ngx_http_variable_value_t ngx_http_variable_null_value; |
105 extern ngx_http_variable_value_t ngx_http_variable_true_value; | 111 extern ngx_http_variable_value_t ngx_http_variable_true_value; |
106 | 112 |