summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_var.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-02-20Var: Introduced nxt_var_get()Zhidao HONG1-2/+2
This commit is for subsequent commits that will support njs variable accessing. In this commit, nxt_var_get() is introduced to extend the variable handling capabilities. Concurrently, nxt_var_ref_get() has been refactored to use in both configuration and request phases.
2024-02-20Var: Refactored nxt_http_unknown_var_ref()Zhidao HONG1-1/+1
2023-06-19Variables refactoring.Zhidao HONG1-8/+20
This commit is to reimplement the variables with an unknown field such as $header_{name} to make the parsing more generic, it's a preparation for supporting response header variables.
2023-05-25HTTP: fixed variable caching.Zhidao HONG1-0/+1
When a variable is accessed in the Unit configuration, the value is cached. This was useful prior to the URI rewrite feature, but now that the URI (more precisely, the request target) can be rewritten, the contents of the variable $uri (which contains the path part of the request target, and is decoded) should not be cached anymore, or at least the cached value should be invalidated after a URI rewrite. Example: { "rewrite": "/prefix$uri", "share": "$uri" } For a request line like GET /foo?bar=baz HTTP/1.1\r\n, the expected file served in the response would be /prefix/foo, but due to the caching issue, Unit currently serves /foo.
2022-11-22NJS: added http request prototype.Zhidao HONG1-0/+2
2022-11-20Basic njs support.Zhidao HONG1-7/+0
2022-11-20Var: separating nxt_tstr_t from nxt_var_t.Zhidao HONG1-17/+8
It's for the introduction of njs support. For each option that supports native variable and JS template literals introduced next, it's unified as template string. No functional changes.
2022-11-04Removed the unsafe nxt_memchr() wrapper for memchr(3).Alejandro Colomar1-1/+1
The casts are unnecessary, since memchr(3)'s argument is 'const void *'. It might have been necessary in the times of K&R, where 'void *' didn't exist. Nowadays, it's unnecessary, and _very_ unsafe, since casts can hide all classes of bugs by silencing most compiler warnings. The changes from nxt_memchr() to memchr(3) were scripted: $ find src/ -type f \ | grep '\.[ch]$' \ | xargs sed -i 's/nxt_memchr/memchr/' Reviewed-by: Andrew Clayton <a.clayton@nginx.com> Signed-off-by: Alejandro Colomar <alx@nginx.com>
2022-07-28Log: customizable access log format.Zhidao HONG1-1/+7
2022-07-14Var: dynamic variables support.Zhidao HONG1-7/+21
This commit adds the variables $arg_NAME, $header_NAME, and $cookie_NAME.
2022-06-15Var: relocated nxt_var_is_const() and nxt_var_raw().Zhidao HONG1-3/+3
No functional changes.
2022-06-02Summary: Var: removing all async stuff.Zhidao HONG1-1/+0
No functional changes.
2021-09-28Static: variables in the "chroot" option.Zhidao HONG1-1/+1
2021-09-07Router: refactored variable pass.Zhidao HONG1-0/+3
Since the "pass" option supports both strings and variables, a generic nxt_var_t structure can be used in the configuration phase, and the "name" field in actions is redundant. No functional changes.
2020-08-13Basic variables support.Valentin Bartenev1-0/+48