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