33 #ifndef GENLIB_NET_HTTP_HTTPPARSER_H
34 #define GENLIB_NET_HTTP_HTTPPARSER_H
43 #include "membuffer.h"
69 xboolean entire_msg_loaded;
84 #define ENTREAD_DETERMINE_READ_METHOD 1
85 #define ENTREAD_USING_CLEN 2
86 #define ENTREAD_USING_CHUNKED 3
87 #define ENTREAD_UNTIL_CLOSE 4
88 #define ENTREAD_CHUNKY_BODY 5
89 #define ENTREAD_CHUNKY_HEADERS 6
101 HTTPMETHOD_SUBSCRIBE,
102 HTTPMETHOD_UNSUBSCRIBE,
113 #define HDR_UNKNOWN -1
114 #define HDR_CACHE_CONTROL 1
115 #define HDR_CALLBACK 2
116 #define HDR_CONTENT_LENGTH 3
117 #define HDR_CONTENT_TYPE 4
124 #define HDR_LOCATION 11
129 #define HDR_SERVER 16
132 #define HDR_SOAPACTION 19
134 #define HDR_TIMEOUT 21
135 #define HDR_TRANSFER_ENCODING 22
137 #define HDR_USER_AGENT 24
140 #define HDR_ACCEPT 25
141 #define HDR_ACCEPT_ENCODING 26
142 #define HDR_ACCEPT_CHARSET 27
143 #define HDR_ACCEPT_LANGUAGE 28
144 #define HDR_ACCEPT_RANGE 29
145 #define HDR_CONTENT_ENCODING 30
146 #define HDR_CONTENT_LANGUAGE 31
147 #define HDR_CONTENT_LOCATION 32
148 #define HDR_CONTENT_RANGE 33
149 #define HDR_IF_RANGE 34
159 PARSE_INCOMPLETE_ENTITY,
182 http_method_t method;
186 http_method_t request_method;
214 xboolean valid_ssdp_notify_hack;
217 parser_pos_t position;
219 unsigned int content_length;
221 size_t entity_start_position;
232 #endif // __cplusplus
279 IN
const char* header_name );
297 IN
int header_name_id, OUT
memptr* value );
325 IN http_method_t request_method );
354 parse_status_t parser_parse_responseline(INOUT
http_parser_t *parser);
369 parse_status_t parser_parse_headers(INOUT
http_parser_t *parser);
384 parse_status_t parser_parse_entity(INOUT
http_parser_t *parser);
399 parse_status_t parser_get_entity_read_method( INOUT
http_parser_t* parser );
418 IN
size_t buf_length );
437 int matchstr( IN
char *str, IN
size_t slen, IN
const char* fmt, ... );
455 int raw_to_int( IN
memptr* raw_value,
int base );
471 int raw_find_str( IN
memptr* raw_value, IN
const char* str );
485 const char* method_to_str( IN http_method_t method );