1 
2 #ifndef __NRE_HTTP_PARSING
3 #define __NRE_HTTP_PARSING
4 
5 
6 #define HTTP_GET           "GET"
7 #define CONTENT_LENGTH_HDR "Content-Length:"
8 #define CONN_HDR_FLD 		"Connection:"
9 #define KEEP_ALIVE_STR 		"Keep-Alive"
10 
11 enum {
12 	GET = 1,
13 	POST
14 };
15 
16 int find_http_header(char *data, int len);
17 int is_http_response(char *data, int len);
18 int is_http_request(char *data, int len);
19 
20 char* http_header_str_val(const char* buf, const char *key, const int key_len, char* value, int value_len);
21 long int http_header_long_val(const char* buf, const char *key, int key_len);
22 
23 char* http_get_http_version_resp(char* data, int len, char* value, int value_len);
24 char* http_get_url(char * data, int data_len, char* value, int value_len);
25 int http_get_status_code(void *response);
26 int http_get_maxage(char *cache_ctl, int len);
27 
28 time_t http_header_date(const char* data, const char* field, int len);
29 
30 enum {HTTP_09, HTTP_10, HTTP_11}; /* http version */
31 int http_parse_first_resp_line(const char* data, int len, int* scode, int* ver);
32 int http_check_header_field(const char* data, const char* field);
33 
34 #endif
35