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