1*1563Svbart@nginx.com 2*1563Svbart@nginx.com /* 3*1563Svbart@nginx.com * Copyright (C) NGINX, Inc. 4*1563Svbart@nginx.com */ 5*1563Svbart@nginx.com 6*1563Svbart@nginx.com #include <nxt_router.h> 7*1563Svbart@nginx.com #include <nxt_http.h> 8*1563Svbart@nginx.com 9*1563Svbart@nginx.com 10*1563Svbart@nginx.com static nxt_int_t nxt_http_var_method(nxt_task_t *task, nxt_var_query_t *query, 11*1563Svbart@nginx.com nxt_str_t *str, void *ctx); 12*1563Svbart@nginx.com static nxt_int_t nxt_http_var_uri(nxt_task_t *task, nxt_var_query_t *query, 13*1563Svbart@nginx.com nxt_str_t *str, void *ctx); 14*1563Svbart@nginx.com 15*1563Svbart@nginx.com 16*1563Svbart@nginx.com static nxt_var_decl_t nxt_http_vars[] = { 17*1563Svbart@nginx.com { nxt_string("method"), 18*1563Svbart@nginx.com &nxt_http_var_method, 19*1563Svbart@nginx.com 0 }, 20*1563Svbart@nginx.com 21*1563Svbart@nginx.com { nxt_string("uri"), 22*1563Svbart@nginx.com &nxt_http_var_uri, 23*1563Svbart@nginx.com 0 }, 24*1563Svbart@nginx.com }; 25*1563Svbart@nginx.com 26*1563Svbart@nginx.com 27*1563Svbart@nginx.com nxt_int_t 28*1563Svbart@nginx.com nxt_http_register_variables(void) 29*1563Svbart@nginx.com { 30*1563Svbart@nginx.com return nxt_var_register(nxt_http_vars, nxt_nitems(nxt_http_vars)); 31*1563Svbart@nginx.com } 32*1563Svbart@nginx.com 33*1563Svbart@nginx.com 34*1563Svbart@nginx.com static nxt_int_t 35*1563Svbart@nginx.com nxt_http_var_method(nxt_task_t *task, nxt_var_query_t *query, nxt_str_t *str, 36*1563Svbart@nginx.com void *ctx) 37*1563Svbart@nginx.com { 38*1563Svbart@nginx.com nxt_http_request_t *r; 39*1563Svbart@nginx.com 40*1563Svbart@nginx.com r = ctx; 41*1563Svbart@nginx.com 42*1563Svbart@nginx.com *str = *r->method; 43*1563Svbart@nginx.com 44*1563Svbart@nginx.com return NXT_OK; 45*1563Svbart@nginx.com } 46*1563Svbart@nginx.com 47*1563Svbart@nginx.com 48*1563Svbart@nginx.com static nxt_int_t 49*1563Svbart@nginx.com nxt_http_var_uri(nxt_task_t *task, nxt_var_query_t *query, nxt_str_t *str, 50*1563Svbart@nginx.com void *ctx) 51*1563Svbart@nginx.com { 52*1563Svbart@nginx.com nxt_http_request_t *r; 53*1563Svbart@nginx.com 54*1563Svbart@nginx.com r = ctx; 55*1563Svbart@nginx.com 56*1563Svbart@nginx.com *str = *r->path; 57*1563Svbart@nginx.com 58*1563Svbart@nginx.com return NXT_OK; 59*1563Svbart@nginx.com } 60