/
niceSOFT
/
dovecot
Обзор
Документация
Войти
/
niceSOFT
/
dovecot
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/lib-http/http-parser.h
63 строки
2 KB
Stephan Bosch
lib-http: Implemented HTTP auth (RFC 7235).
10 сен 2014, 14:39
10 сен 2014, 14:39
0b5bdb5
Код
Авторство
О чём код?
#ifndef HTTP_PARSER_H #define HTTP_PARSER_H /* * Character definitions */ extern const unsigned char _http_token_char_mask; extern const unsigned char _http_value_char_mask; extern const unsigned char _http_text_char_mask; extern const unsigned char _http_qdtext_char_mask; extern const unsigned char _http_ctext_char_mask; extern const unsigned char _http_token68_char_mask; extern const unsigned char _http_char_lookup[256]; static inline bool http_char_is_token(unsigned char ch) { return (_http_char_lookup[ch] & _http_token_char_mask) != 0; } static inline bool http_char_is_value(unsigned char ch) { return (_http_char_lookup[ch] & _http_value_char_mask) != 0; } static inline bool http_char_is_text(unsigned char ch) { return (_http_char_lookup[ch] & _http_text_char_mask) != 0; } static inline bool http_char_is_qdtext(unsigned char ch) { return (_http_char_lookup[ch] & _http_qdtext_char_mask) != 0; } static inline bool http_char_is_ctext(unsigned char ch) { return (_http_char_lookup[ch] & _http_ctext_char_mask) != 0; } static inline bool http_char_is_token68(unsigned char ch) { return (_http_char_lookup[ch] & _http_token68_char_mask) != 0; } /* * HTTP value parsing */ struct http_parser { const unsigned char *begin, *cur, *end; }; void http_parser_init(struct http_parser *parser, const unsigned char *data, size_t size); void http_parse_ows(struct http_parser *parser); int http_parser_skip_token(struct http_parser *parser); int http_parse_token(struct http_parser *parser, const char **token_r); int http_parse_token_list_next(struct http_parser *parser, const char **token_r); int http_parse_quoted_string(struct http_parser *parser, const char **str_r); int http_parse_token_or_qstring(struct http_parser *parser, const char **word_r); #endif