summaryrefslogtreecommitdiff
path: root/src/HTTP_Message.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/HTTP_Message.c')
-rw-r--r--src/HTTP_Message.c43
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)
{