diff options
author | Valentin Bartenev <vbart@nginx.com> | 2017-12-27 15:45:23 +0300 |
---|---|---|
committer | Valentin Bartenev <vbart@nginx.com> | 2017-12-27 15:45:23 +0300 |
commit | 45d08d5145c63fd788f85d9e789314dcf093c99e (patch) | |
tree | c12e02adfd36abe638b1434fa4956c4f887ff6e2 /src/nxt_http_parse.c | |
parent | be36cf52c8b092ebb688784a1c10626cac2138d7 (diff) | |
download | unit-45d08d5145c63fd788f85d9e789314dcf093c99e.tar.gz unit-45d08d5145c63fd788f85d9e789314dcf093c99e.tar.bz2 |
HTTP parser: introduced nxt_http_parse_fields().
Diffstat (limited to 'src/nxt_http_parse.c')
-rw-r--r-- | src/nxt_http_parse.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/nxt_http_parse.c b/src/nxt_http_parse.c index 34d88839..17bd0657 100644 --- a/src/nxt_http_parse.c +++ b/src/nxt_http_parse.c @@ -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 nxt_http_parse_request_line(nxt_http_request_parse_t *rp, u_char **pos, u_char *end) |