summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_tstr.h
diff options
context:
space:
mode:
authorZhidao HONG <z.hong@f5.com>2024-08-16 00:06:45 +0800
committerZhidao HONG <z.hong@f5.com>2024-08-20 09:17:23 +0800
commit82e168fe01306cf03f8eaba284f31f7285347424 (patch)
treef04ed5df9b62e967315fc87916ad48137135c674 /src/nxt_tstr.h
parent5f6ae1a189b1736eb7cc35f1ff8018fd8606db9b (diff)
downloadunit-82e168fe01306cf03f8eaba284f31f7285347424.tar.gz
unit-82e168fe01306cf03f8eaba284f31f7285347424.tar.bz2
http: Refactor out nxt_tstr_cond_t from the access log module
This nxt_tstr_cond_t will be reused for the feature of adding "if" option to the "match" object. The two "if" options have the same usage.
Diffstat (limited to '')
-rw-r--r--src/nxt_tstr.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/nxt_tstr.h b/src/nxt_tstr.h
index 2aa905df..aca74e20 100644
--- a/src/nxt_tstr.h
+++ b/src/nxt_tstr.h
@@ -37,12 +37,20 @@ typedef enum {
} nxt_tstr_flags_t;
+typedef struct {
+ nxt_tstr_t *expr;
+ uint8_t negate; /* 1 bit */
+} nxt_tstr_cond_t;
+
+
nxt_tstr_state_t *nxt_tstr_state_new(nxt_mp_t *mp, nxt_bool_t test);
nxt_tstr_t *nxt_tstr_compile(nxt_tstr_state_t *state, const nxt_str_t *str,
nxt_tstr_flags_t flags);
nxt_int_t nxt_tstr_test(nxt_tstr_state_t *state, nxt_str_t *str, u_char *error);
nxt_int_t nxt_tstr_state_done(nxt_tstr_state_t *state, u_char *error);
void nxt_tstr_state_release(nxt_tstr_state_t *state);
+nxt_int_t nxt_tstr_cond_compile(nxt_tstr_state_t *state, nxt_str_t *str,
+ nxt_tstr_cond_t *cond);
nxt_bool_t nxt_tstr_is_const(nxt_tstr_t *tstr);
void nxt_tstr_str(nxt_tstr_t *tstr, nxt_str_t *str);