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