summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_http_parse.h
diff options
context:
space:
mode:
authorKonstantin Pavlov <thresh@nginx.com>2019-09-19 19:04:16 +0300
committerKonstantin Pavlov <thresh@nginx.com>2019-09-19 19:04:16 +0300
commitdeb26fa47a9ab1b358938134a8ced8bbc4a083e1 (patch)
tree0bedf8829f003fa4c0101e3421b7184acc1c8343 /src/nxt_http_parse.h
parentfcb1f851d0b5d1774a6cb876288ea29cfef58618 (diff)
parentdb777d1e7f607d1b0f01dfb73ad0bac12987202b (diff)
downloadunit-deb26fa47a9ab1b358938134a8ced8bbc4a083e1.tar.gz
unit-deb26fa47a9ab1b358938134a8ced8bbc4a083e1.tar.bz2
Merged with the default branch.
Diffstat (limited to 'src/nxt_http_parse.h')
-rw-r--r--src/nxt_http_parse.h17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/nxt_http_parse.h b/src/nxt_http_parse.h
index c5b11bf3..a307ea73 100644
--- a/src/nxt_http_parse.h
+++ b/src/nxt_http_parse.h
@@ -37,14 +37,10 @@ struct nxt_http_request_parse_s {
nxt_int_t (*handler)(nxt_http_request_parse_t *rp,
u_char **pos, u_char *end);
- size_t offset;
-
nxt_str_t method;
u_char *target_start;
u_char *target_end;
- u_char *exten_start;
- u_char *args_start;
nxt_str_t path;
nxt_str_t args;
@@ -61,13 +57,14 @@ struct nxt_http_request_parse_s {
uint32_t field_hash;
/* target with "/." */
- unsigned complex_target:1;
+ uint8_t complex_target; /* 1 bit */
/* target with "%" */
- unsigned quoted_target:1;
+ uint8_t quoted_target; /* 1 bit */
/* target with " " */
- unsigned space_in_target:1;
- /* target with "+" */
- unsigned plus_in_target:1;
+ uint8_t space_in_target; /* 1 bit */
+
+ /* Preserve encoded '/' (%2F) and '%' (%25). */
+ uint8_t encoded_slashes; /* 1 bit */
};
@@ -113,7 +110,7 @@ nxt_int_t nxt_http_fields_process(nxt_list_t *fields, nxt_lvlhsh_t *hash,
void *ctx);
-const nxt_lvlhsh_proto_t nxt_http_fields_hash_proto;
+extern const nxt_lvlhsh_proto_t nxt_http_fields_hash_proto;
nxt_inline nxt_int_t
nxt_http_field_process(nxt_http_field_t *field, nxt_lvlhsh_t *hash, void *ctx)