summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_conf_validation.c
diff options
context:
space:
mode:
authorZhidao HONG <z.hong@f5.com>2024-08-16 00:29:16 +0800
committerZhidao HONG <z.hong@f5.com>2024-08-20 09:17:24 +0800
commitdebd61c3a4f7e5817bf842c2166217929ef80c88 (patch)
tree037909415bcd46a43a73ab89ca698ab74687243d /src/nxt_conf_validation.c
parent57f939569d3c3db11d8bbc7dd0b45693cbe3344e (diff)
downloadunit-debd61c3a4f7e5817bf842c2166217929ef80c88.tar.gz
unit-debd61c3a4f7e5817bf842c2166217929ef80c88.tar.bz2
http: Add "if" option to the "match" object
This feature allows users to specify conditions to check if one route is matched. It is used the same way as the "if" option in the access log. Example: { "match": { "if": "`${headers['User-Agent'].split('/')[0] == 'curl'}`" }, "action": { "return": 204 } }
Diffstat (limited to '')
-rw-r--r--src/nxt_conf_validation.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nxt_conf_validation.c b/src/nxt_conf_validation.c
index 8f31bd18..5d7f7c52 100644
--- a/src/nxt_conf_validation.c
+++ b/src/nxt_conf_validation.c
@@ -696,6 +696,10 @@ static nxt_conf_vldt_object_t nxt_conf_vldt_match_members[] = {
.type = NXT_CONF_VLDT_OBJECT | NXT_CONF_VLDT_ARRAY,
.validator = nxt_conf_vldt_match_patterns_sets,
.u.string = "cookies"
+ }, {
+ .name = nxt_string("if"),
+ .type = NXT_CONF_VLDT_STRING,
+ .validator = nxt_conf_vldt_if,
},
NXT_CONF_VLDT_END