diff options
Diffstat (limited to 'src/HTTP_Message.c')
| -rw-r--r-- | src/HTTP_Message.c | 43 |
1 files changed, 32 insertions, 11 deletions
diff --git a/src/HTTP_Message.c b/src/HTTP_Message.c index a6822e7..41ce708 100644 --- a/src/HTTP_Message.c +++ b/src/HTTP_Message.c @@ -40,7 +40,7 @@ int is_absolute_uri(void* app_info) int http_line2region(const char *line, uint32 line_len, char** region, uint32* region_len) { - /*line����ҵ��㣬��append,����lineǰ��Ŀո��Ѿ�ɾ����ֻ��Ҫɾ��: ֮��Ŀո�*/ + /*line����ҵ��㣬��append,����lineǰ��Ŀո��Ѿ�ɾ����ֻ��Ҫɾ��: ֮��Ŀո�*/ uint32 del_data_len=0; char* colon_pos = (char*)memchr(line, ':', line_len); if(NULL==colon_pos) return -1; @@ -52,7 +52,7 @@ int http_line2region(const char *line, uint32 line_len, char** region, uint32* r int http_line2value(const char *line, uint32 line_len, char** value, uint32* value_len) { - /*line����ҵ��㣬��append,����lineǰ��Ŀո��Ѿ�ɾ����ֻ��Ҫɾ��: ֮��Ŀո�*/ + /*line����ҵ��㣬��append,����lineǰ��Ŀո��Ѿ�ɾ����ֻ��Ҫɾ��: ֮��Ŀո�*/ uint32 vlen=0, sp_offset=0; char* colon_pos = (char*)memchr(line, ':', line_len); if(NULL==colon_pos) return -1; @@ -371,6 +371,14 @@ int HTTP_INIT(void) return -1; } + int i=0; + g_http_prog_para.unzip_content=(fold_infor_t *)malloc(sizeof(fold_infor_t)*g_iThreadNum); + for(i=0; i<g_iThreadNum; i++) + { + g_http_prog_para.unzip_content[i].buflen=0; + g_http_prog_para.unzip_content[i].buf=(char *)calloc(1, HTTP_UNZIP_CONTENT_LEN); + } + /*MESA_proto*/ g_http_prog_para.proto_tag_id = project_producer_register("MESA_PROTO","struct",http_proto_tag_free); @@ -561,6 +569,19 @@ void HTTP_DESTROY(void) /*ungzip*/ docanalyze_destroy(g_http_prog_para.docanly_handler); + + /*unzip_content*/ + int i=0; + for(i=0; i<g_iThreadNum; i++) + { + if(g_http_prog_para.unzip_content[i].buf!=NULL) + { + free(g_http_prog_para.unzip_content[i].buf); + g_http_prog_para.unzip_content[i].buf = NULL; + } + } + + free(g_http_prog_para.unzip_content); } void HTTP_PROT_FUNSTAT(unsigned long long protflag) @@ -664,11 +685,11 @@ long long HTTP_FLAG_CHANGE(char* flag_str) } /********************************************************** - * ���ܣ��ж���Ϣͷ�Ƿ������ - * buffer:��洢�������� - * data����ǰ���ݡ� - * data_len:��ǰ���ݵij��ȡ� - * proc_offset:��ǰ�����Ѵ������ݵ�ƫ������ + * ���ܣ��ж���Ϣͷ�Ƿ������ + * buffer:��洢�������� + * data����ǰ���ݡ� + * data_len:��ǰ���ݵij��ȡ� + * proc_offset:��ǰ�����Ѵ������ݵ�ƫ������ return : GO_BACK OK ERROR ***********************************************************/ uchar http_judgeHeaderOver(http_parser_t *a_http, char *data, uint32 data_len, int thread_seq) @@ -1040,10 +1061,10 @@ void http_saveToBuf(const char* curdata,uint32 cur_datalen,const char* p_end, ch } } /********************************************************** - * buffer:���ݴ洢�������� - * processed_offset����ǰ�����У��Ѵ������ݵ�ƫ����. - * cur_data����ǰ���ݡ� - * cur_data_len����ǰ���ݵij��ȡ� + * buffer:���ݴ洢�������� + * processed_offset����ǰ�����У��Ѵ������ݵ�ƫ����. + * cur_data����ǰ���ݡ� + * cur_data_len����ǰ���ݵij��ȡ� ***********************************************************/ uchar http_positioningACompleteLine(char del_space, http_parser_t *cur_http_node, struct streaminfo *a_tcp, int thread_seq) { |
