diff options
author | Zhidao HONG <z.hong@f5.com> | 2024-04-10 13:45:34 +0800 |
---|---|---|
committer | Zhidao HONG <z.hong@f5.com> | 2024-04-11 22:23:09 +0800 |
commit | 64934e59f9c06f62fe99466b320cd397c8609807 (patch) | |
tree | 3c6e46f4e01479ab5bee3af92f2c2720ed2f8562 /src/nxt_http_parse.c | |
parent | 626977730f0e9029ee15b6321d35cb5aa311379d (diff) | |
download | unit-64934e59f9c06f62fe99466b320cd397c8609807.tar.gz unit-64934e59f9c06f62fe99466b320cd397c8609807.tar.bz2 |
HTTP: Introduce quoted target marker in HTTP parsing
The quoted_target field is to indentify URLs containing
percent-encoded characters. It can be used in places
where you might need to generate new URL, such as in the
proxy module.
It will be used in the subsequent commit.
Diffstat (limited to 'src/nxt_http_parse.c')
-rw-r--r-- | src/nxt_http_parse.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/nxt_http_parse.c b/src/nxt_http_parse.c index 50cbda2b..48be5bdb 100644 --- a/src/nxt_http_parse.c +++ b/src/nxt_http_parse.c @@ -286,13 +286,11 @@ continue_target: case NXT_HTTP_TARGET_SPACE: rp->target_end = p; goto space_after_target; -#if 0 + case NXT_HTTP_TARGET_QUOTE_MARK: rp->quoted_target = 1; goto rest_of_target; -#else - case NXT_HTTP_TARGET_QUOTE_MARK: -#endif + case NXT_HTTP_TARGET_HASH: rp->complex_target = 1; goto rest_of_target; @@ -434,12 +432,7 @@ space_after_target: rp->request_line_end = p; - if (rp->complex_target != 0 -#if 0 - || rp->quoted_target != 0 -#endif - ) - { + if (rp->complex_target || rp->quoted_target) { rc = nxt_http_parse_complex_target(rp); if (nxt_slow_path(rc != NXT_OK)) { @@ -1041,7 +1034,7 @@ nxt_http_parse_complex_target(nxt_http_request_parse_t *rp) break; case sw_quoted: - //rp->quoted_target = 1; + rp->quoted_target = 1; if (ch >= '0' && ch <= '9') { high = (u_char) (ch - '0'); |