httpparser.h File Reference
`#include "LinkedList.h"`
`#include "membuffer.h"`
`#include "uri.h"`
`#include "util.h"`
Include dependency graph for httpparser.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures

struct | scanner_t
struct | http_header_t
struct | http_message_t
struct | http_parser_t

## Macros

#define | ENTREAD_DETERMINE_READ_METHOD 1
#define | ENTREAD_USING_CLEN 2
#define | ENTREAD_USING_CHUNKED 3
#define | ENTREAD_UNTIL_CLOSE 4
#define | ENTREAD_CHUNKY_BODY 5
#define | ENTREAD_CHUNKY_HEADERS 6
#define | HDR_UNKNOWN -1
#define | HDR_CACHE_CONTROL 1
#define | HDR_CALLBACK 2
#define | HDR_CONTENT_LENGTH 3
#define | HDR_CONTENT_TYPE 4
#define | HDR_DATE 5
#define | HDR_EXT 6
#define | HDR_HOST 7
#define | HDR_LOCATION 11
#define | HDR_MAN 12
#define | HDR_MX 13
#define | HDR_NT 14
#define | HDR_NTS 15
#define | HDR_SERVER 16
#define | HDR_SEQ 17
#define | HDR_SID 18
#define | HDR_SOAPACTION 19
#define | HDR_ST 20
#define | HDR_TIMEOUT 21
#define | HDR_TRANSFER_ENCODING 22
#define | HDR_USN 23
#define | HDR_USER_AGENT 24
#define | HDR_ACCEPT 25
#define | HDR_ACCEPT_ENCODING 26
#define | HDR_ACCEPT_CHARSET 27
#define | HDR_ACCEPT_LANGUAGE 28
#define | HDR_ACCEPT_RANGE 29
#define | HDR_CONTENT_ENCODING 30
#define | HDR_CONTENT_LANGUAGE 31
#define | HDR_CONTENT_LOCATION 32
#define | HDR_CONTENT_RANGE 33
#define | HDR_IF_RANGE 34
#define | HDR_RANGE 35
#define | HDR_TE 36

## Enumerations

enum | token_type_t { TT_IDENTIFIER, TT_WHITESPACE, TT_CRLF, TT_CTRL, TT_SEPARATOR, TT_QUOTEDSTRING }
enum | parser_pos_t { POS_REQUEST_LINE, POS_RESPONSE_LINE, POS_HEADERS, POS_ENTITY, POS_COMPLETE }
enum | http_method_t { HTTPMETHOD_POST, HTTPMETHOD_MPOST, HTTPMETHOD_SUBSCRIBE, HTTPMETHOD_UNSUBSCRIBE, HTTPMETHOD_NOTIFY, HTTPMETHOD_GET, HTTPMETHOD_HEAD, HTTPMETHOD_MSEARCH, HTTPMETHOD_UNKNOWN, SOAPMETHOD_POST, HTTPMETHOD_SIMPLEGET }
enum | parse_status_t { PARSE_SUCCESS = 0, PARSE_INCOMPLETE, PARSE_INCOMPLETE_ENTITY, PARSE_FAILURE, PARSE_OK, PARSE_NO_MATCH, PARSE_CONTINUE_1 }

## Functions

void | httpmsg_init (http_message_t *msg)
void | httpmsg_destroy (http_message_t *msg)
http_header_t * | httpmsg_find_hdr_str (http_message_t *msg, const char *header_name)
http_header_t * | httpmsg_find_hdr (http_message_t *msg, int header_name_id, memptr *value)
void | parser_request_init (http_parser_t *parser)
void | parser_response_init (http_parser_t *parser, http_method_t request_method)
parse_status_t | parser_parse (http_parser_t *parser)
parse_status_t | parser_parse_responseline (http_parser_t *parser)
parse_status_t | parser_parse_headers (http_parser_t *parser)
parse_status_t | parser_parse_entity (http_parser_t *parser)
parse_status_t | parser_get_entity_read_method (http_parser_t *parser)
parse_status_t | parser_append (http_parser_t *parser, const char *buf, size_t buf_length)
int | matchstr (char *str, size_t slen, const char *fmt,...)
int | raw_to_int (memptr *raw_value, int base)
int | raw_find_str (memptr *raw_value, const char *str)
const char * | method_to_str (http_method_t method)