HTTP parser: introduced nxt_http_parse_fields().
This commit is contained in:
@@ -146,6 +146,23 @@ nxt_http_parse_request(nxt_http_request_parse_t *rp, nxt_buf_mem_t *b)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
nxt_int_t
|
||||||
|
nxt_http_parse_fields(nxt_http_request_parse_t *rp, nxt_buf_mem_t *b)
|
||||||
|
{
|
||||||
|
nxt_int_t rc;
|
||||||
|
|
||||||
|
if (rp->handler == NULL) {
|
||||||
|
rp->handler = &nxt_http_parse_field_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
do {
|
||||||
|
rc = rp->handler(rp, &b->pos, b->free);
|
||||||
|
} while (rc == NXT_OK);
|
||||||
|
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static nxt_int_t
|
static nxt_int_t
|
||||||
nxt_http_parse_request_line(nxt_http_request_parse_t *rp, u_char **pos,
|
nxt_http_parse_request_line(nxt_http_request_parse_t *rp, u_char **pos,
|
||||||
u_char *end)
|
u_char *end)
|
||||||
|
|||||||
@@ -83,6 +83,8 @@ nxt_int_t nxt_http_parse_request_init(nxt_http_request_parse_t *rp,
|
|||||||
nxt_mp_t *mp);
|
nxt_mp_t *mp);
|
||||||
nxt_int_t nxt_http_parse_request(nxt_http_request_parse_t *rp,
|
nxt_int_t nxt_http_parse_request(nxt_http_request_parse_t *rp,
|
||||||
nxt_buf_mem_t *b);
|
nxt_buf_mem_t *b);
|
||||||
|
nxt_int_t nxt_http_parse_fields(nxt_http_request_parse_t *rp,
|
||||||
|
nxt_buf_mem_t *b);
|
||||||
|
|
||||||
nxt_int_t nxt_http_fields_hash(nxt_lvlhsh_t *hash, nxt_mp_t *mp,
|
nxt_int_t nxt_http_fields_hash(nxt_lvlhsh_t *hash, nxt_mp_t *mp,
|
||||||
nxt_http_field_proc_t items[], nxt_uint_t count);
|
nxt_http_field_proc_t items[], nxt_uint_t count);
|
||||||
|
|||||||
Reference in New Issue
Block a user