bugfix:修复上传文件命中assert

This commit is contained in:
fengweihao
2021-07-29 09:32:59 +08:00
parent 632a609017
commit 319afbc11b
2 changed files with 58 additions and 42 deletions

View File

@@ -473,7 +473,7 @@ int cache_evbase_upload_once_evbuf(struct cache_evbase_instance *instance, struc
buffer->ctx_asyn = ctx_asyn;
buffer->cmd_type = CACHE_ASYN_UPLOAD_ONCE_EVBUF;
buffer->evbuf = evbuffer_new();
evbuffer_add_buffer_reference(buffer->evbuf, evbuf);
evbuffer_add_buffer(buffer->evbuf, evbuf);
if(iothread_notify_event(instance->notify_sendfd, &buffer, sizeof(void *), 2) != sizeof(void *))
{

View File

@@ -245,6 +245,12 @@ int pangu_send_log(struct pangu_logger* handle, const struct pangu_log* log_msg)
}
}
char log_file_upload_req_path[TFE_STRING_MAX]={0}, cont_type_whole[TFE_STRING_MAX]={0};
char log_file_upload_resp_path[TFE_STRING_MAX]={0};
memset(log_file_upload_req_path, 0, sizeof(log_file_upload_req_path));
memset(log_file_upload_resp_path, 0, sizeof(log_file_upload_resp_path));
memset(cont_type_whole, 0, sizeof(cont_type_whole));
for(size_t i=0; i<log_msg->result_num; i++)
{
if(log_msg->result[i].do_log!=1)
@@ -252,11 +258,16 @@ int pangu_send_log(struct pangu_logger* handle, const struct pangu_log* log_msg)
continue;
}
char log_file_upload_path[TFE_STRING_MAX]={0}, cont_type_whole[TFE_STRING_MAX]={0};
struct tango_cache_meta_put meta;
char* log_file_key=NULL;;
const char* cont_type_val;
if(log_msg->req_body!=NULL)
{
if(log_file_upload_req_path[0] != '\0')
{
cJSON_AddStringToObject(common_obj, "http_request_body", log_file_upload_req_path);
}
else
{
memset(&meta, 0, sizeof(meta));
asprintf(&log_file_key, "%s.reqbody", http->req->req_spec.url);
@@ -271,10 +282,10 @@ int pangu_send_log(struct pangu_logger* handle, const struct pangu_log* log_msg)
tmp=cache_evbase_upload_once_evbuf(handle->log_file_upload_instance, NULL,
log_msg->req_body,
&meta,
log_file_upload_path, sizeof(log_file_upload_path));
log_file_upload_req_path, sizeof(log_file_upload_req_path));
if(tmp==0)
{
cJSON_AddStringToObject(common_obj, "http_request_body", log_file_upload_path);
cJSON_AddStringToObject(common_obj, "http_request_body", log_file_upload_req_path);
}
else
{
@@ -282,11 +293,15 @@ int pangu_send_log(struct pangu_logger* handle, const struct pangu_log* log_msg)
}
free(log_file_key);
}
}
if(log_msg->resp_body!=NULL)
{
memset(log_file_upload_path, 0, sizeof(log_file_upload_path));
memset(cont_type_whole, 0, sizeof(cont_type_whole));
if(log_file_upload_resp_path[0] != '\0')
{
cJSON_AddStringToObject(common_obj, "http_response_body", log_file_upload_resp_path);
}
else
{
memset(&meta, 0, sizeof(meta));
asprintf(&log_file_key, "%s.respbody", http->req->req_spec.url);
meta.url=log_file_key;
@@ -300,11 +315,11 @@ int pangu_send_log(struct pangu_logger* handle, const struct pangu_log* log_msg)
tmp=cache_evbase_upload_once_evbuf(handle->log_file_upload_instance, NULL,
log_msg->resp_body,
&meta,
log_file_upload_path, sizeof(log_file_upload_path));
log_file_upload_resp_path, sizeof(log_file_upload_resp_path));
if(tmp==0)
{
cJSON_AddStringToObject(common_obj, "http_response_body", log_file_upload_path);
cJSON_AddStringToObject(common_obj, "http_response_body", log_file_upload_resp_path);
}
else
{
@@ -313,6 +328,7 @@ int pangu_send_log(struct pangu_logger* handle, const struct pangu_log* log_msg)
free(log_file_key);
}
}
}
for(size_t i=0; i<log_msg->result_num; i++)
{