xref: /unit/src/nxt_http_variables.c (revision 1563)
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