Exchange the Mongrel parser with the Mongrel2 parser because of licensing issues
[mistral.git] / original_parser / http11_parser.h
blobc7f0ae17807f2f3de07f3984a715b88c31d2b1d8
2 #ifndef http11_parser_h
3 #define http11_parser_h
5 #include "http11_common.h"
7 enum { CONTENT_LENGTH
8 , CONTENT_TYPE
9 , FRAGMENT
10 , HTTP_VERSION
11 , QUERY_STRING
12 , REQUEST_PATH
13 , REQUEST_METHOD
14 , REQUEST_URI
17 typedef struct http_parser {
18 int cs;
19 size_t body_start;
20 int content_len;
21 size_t nread;
22 size_t mark;
23 size_t field_start;
24 size_t field_len;
25 size_t query_start;
27 void *data;
29 field_cb http_field;
30 element_cb on_element;
31 } http_parser;
33 int http_parser_init(http_parser *parser);
34 int http_parser_finish(http_parser *parser);
35 size_t http_parser_execute(http_parser *parser, const char *data, size_t len, size_t off);
36 int http_parser_has_error(http_parser *parser);
37 int http_parser_is_finished(http_parser *parser);
39 #define http_parser_nread(parser) (parser)->nread
41 #endif