summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_http_parse.h
diff options
context:
space:
mode:
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)