5
* Character definitions
8
extern const unsigned char _http_token_char_mask;
9
extern const unsigned char _http_value_char_mask;
10
extern const unsigned char _http_text_char_mask;
11
extern const unsigned char _http_qdtext_char_mask;
12
extern const unsigned char _http_ctext_char_mask;
14
extern const unsigned char _http_char_lookup[256];
16
static inline bool http_char_is_token(unsigned char ch) {
17
return (_http_char_lookup[ch] & _http_token_char_mask) != 0;
20
static inline bool http_char_is_value(unsigned char ch) {
21
return (_http_char_lookup[ch] & _http_value_char_mask) != 0;
24
static inline bool http_char_is_text(unsigned char ch) {
25
return (_http_char_lookup[ch] & _http_text_char_mask) != 0;
28
static inline bool http_char_is_qdtext(unsigned char ch) {
29
return (_http_char_lookup[ch] & _http_qdtext_char_mask) != 0;
32
static inline bool http_char_is_ctext(unsigned char ch) {
33
return (_http_char_lookup[ch] & _http_ctext_char_mask) != 0;
41
const unsigned char *begin, *cur, *end;
44
void http_parser_init(struct http_parser *parser,
45
const unsigned char *data, size_t size);
47
void http_parse_ows(struct http_parser *parser);
49
int http_parse_token(struct http_parser *parser, const char **token_r);
50
int http_parse_token_list_next(struct http_parser *parser,
51
const char **token_r);
53
int http_parse_quoted_string(struct http_parser *parser, const char **str_r);
54
int http_parse_word(struct http_parser *parser, const char **word_r);