Sfoglia il codice sorgente

!2 ihttpFun add trace

chenliangyu 6 mesi fa
parent
commit
184d8ef277

+ 1 - 0
.gitignore

@@ -197,6 +197,7 @@ compile_commands.json
 CTestTestfile.cmake
 _deps
 #CMakeSettings.json
+CMakePresets.json
 /Other/libimageproc/RCa15420
 /cpp.hint
 !/ThirdParty/Include/msgpack/msgpack/preprocessor/debug

+ 3 - 2
Framework/Common/IHttpFunc.h

@@ -5,6 +5,7 @@
 
 #include <unordered_map>
 #include "RVCComm.h"
+#include "httpTrace_define.hpp"
 
 using namespace std;
 
@@ -87,9 +88,9 @@ public:
 	//销毁对象
 	virtual void Destory() = 0;
 	//get请求
-	virtual const bool Get(CHTTPReq& req, CHTTPRet& ret) = 0;
+	virtual const bool Get(CHTTPReq& req, CHTTPRet& ret, HttpClientTraceLink* pTrace) = 0;
 	//post请求
-	virtual const bool Post(CHTTPReq& req, CHTTPRet& ret) = 0;
+	virtual const bool Post(CHTTPReq& req, CHTTPRet& ret, HttpClientTraceLink* pTrace) = 0;
 	//文件块上传
 	virtual const bool UploadFileBlock(CHTTPUploadReq& req, CHTTPUploadRet& ret) = 0;
 	//文件块下载

+ 31 - 2
Framework/RVCComm/HTTPClient.cpp

@@ -1483,7 +1483,7 @@ size_t CHTTPClient::RestReadCallback(void* pCurlData, size_t usBlockCount, size_
 }
 
 //add by cfq
-const bool CHTTPClient::Get(CHTTPReq &req, CHTTPRet &ret){
+const bool CHTTPClient::Get(CHTTPReq &req, CHTTPRet &ret, HttpClientTraceLink* pTrace){
 	//拼接请求参数
 	string param;
 	std::string jsonStr="";
@@ -1581,6 +1581,21 @@ const bool CHTTPClient::Get(CHTTPReq &req, CHTTPRet &ret){
 		}
 	}
 
+	if (pTrace != NULL
+		&& strlen(pTrace->X_B3_BusinessId) > 0
+		&& strlen(pTrace->X_B3_TraceId) > 0
+		&& strlen(pTrace->X_B3_SpanId) > 0
+		&& strlen(pTrace->X_B3_ParentSpanId) > 0
+		&& strlen(pTrace->X_B3_Timestamp) > 0)
+	{
+		req.m_headers.emplace(std::make_pair("X_B3_BusinessId", pTrace->X_B3_BusinessId));
+		req.m_headers.emplace(std::make_pair("X_B3_TraceId", pTrace->X_B3_TraceId));
+		req.m_headers.emplace(std::make_pair("X_B3_SpanId", pTrace->X_B3_SpanId));
+		req.m_headers.emplace(std::make_pair("X_B3_ParentSpanId", pTrace->X_B3_ParentSpanId));
+		req.m_headers.emplace(std::make_pair("X_B3_Timestamp", pTrace->X_B3_Timestamp));
+		
+	}
+
 	//set timeout
 	m_iCurlTimeout = req.m_timeOut;
 
@@ -1649,7 +1664,7 @@ const bool CHTTPClient::Get(CHTTPReq &req, CHTTPRet &ret){
 
 }
 //add by cfq
-const bool CHTTPClient::Post(CHTTPReq &req, CHTTPRet &ret){
+const bool CHTTPClient::Post(CHTTPReq &req, CHTTPRet &ret, HttpClientTraceLink* pTrace){
 
 	if(!req.m_url.empty()){
 		if(req.m_printDbg){
@@ -1712,6 +1727,20 @@ const bool CHTTPClient::Post(CHTTPReq &req, CHTTPRet &ret){
 		
 	}
 
+	if (pTrace != NULL
+		&& strlen(pTrace->X_B3_BusinessId) > 0
+		&& strlen(pTrace->X_B3_TraceId) > 0
+		&& strlen(pTrace->X_B3_SpanId) > 0
+		&& strlen(pTrace->X_B3_ParentSpanId) > 0
+		&& strlen(pTrace->X_B3_Timestamp) > 0)
+	{
+		req.m_headers.emplace(std::make_pair("X_B3_BusinessId", pTrace->X_B3_BusinessId));
+		req.m_headers.emplace(std::make_pair("X_B3_TraceId", pTrace->X_B3_TraceId));
+		req.m_headers.emplace(std::make_pair("X_B3_SpanId", pTrace->X_B3_SpanId));
+		req.m_headers.emplace(std::make_pair("X_B3_ParentSpanId", pTrace->X_B3_ParentSpanId));
+		req.m_headers.emplace(std::make_pair("X_B3_Timestamp", pTrace->X_B3_Timestamp));
+	}
+
 	//set timeout
 	m_iCurlTimeout = req.m_timeOut;
 

+ 2 - 2
Framework/RVCComm/HTTPClient.h

@@ -147,8 +147,8 @@ public:
             const ByteBuffer& Data, HttpResponse& Response);
 
    //add by cfq  override IHttpFunc
-   virtual const bool Get(CHTTPReq &req, CHTTPRet &ret);
-   virtual const bool Post(CHTTPReq &req, CHTTPRet &ret);
+   virtual const bool Get(CHTTPReq &req, CHTTPRet &ret, HttpClientTraceLink* pTrace);
+   virtual const bool Post(CHTTPReq &req, CHTTPRet &ret, HttpClientTraceLink* pTrace);
    virtual const bool UploadFileBlock(CHTTPUploadReq &req, CHTTPUploadRet &ret);
    virtual const bool DownloadFileBlock(const char* url, const char* jsonReqStr, fileContentArray& content,
 	   long &httpCode, unordered_map<string, string>& responseHeaders, long timeout);

+ 4 - 4
Framework/RvcRestfulSdk/test/testNormlReqAns.cpp

@@ -8,7 +8,7 @@ TEST_CASE("test api manage", "[restful]")
     HttpClientResponseResult result;
     config.SetChildUri("/api/manage/regist/7555980103");
     RestfulClient client = RestfulClient::getInstance();
-    client.Do(&config, &result);
+    client.Do(&config, &result, NULL);
     std::cout << result.content << std::endl;
     REQUIRE(!result.content.empty());
 }
@@ -20,7 +20,7 @@ TEST_CASE("test  api stage get api", "[restful]")
     config.SetChildUri("/api/stage");
     config.AppendQuery("terminalNo", "7555980001");
     RestfulClient client = RestfulClient::getInstance();
-    client.Do(&config, &result);
+    client.Do(&config, &result, NULL);
     std::cout << result.content << std::endl;
     REQUIRE(!result.content.empty());
 }
@@ -33,7 +33,7 @@ TEST_CASE("test  api stage post api", "[restful]")
     config.SetJsonBody("{\"terminalNo\":\"7555980001\", \"errEntityList\":\"566666\"}");
     RestfulClient client = RestfulClient::getInstance();
     HttpClientResponseResult result;
-    client.Do(&config, &result);
+    client.Do(&config, &result, NULL);
     std::cout << result.content << std::endl;
     REQUIRE(!result.content.empty());
 }
@@ -47,7 +47,7 @@ TEST_CASE("test  api stage upload api", "[restful]")
     RestfulClient client = RestfulClient::getInstance();
     HttpClientResponseResult result;
     config.PreDo();
-    client.Do(&config, &result);
+    client.Do(&config, &result, NULL);
     std::cout << result.content << std::endl;
     REQUIRE(!result.content.empty());
 }

+ 10 - 7
Framework/spbase/sp_httpDefine.cpp

@@ -506,8 +506,8 @@ DWORD getTerminalCfgInfoThread(LPVOID param)
 	TerminalCfgReq* req = (TerminalCfgReq*)param;
 	IHttpFunc* http_client = create_http(LogCallback);
 	if (http_client != NULL) {
-
-		bool ret = http_client->Post(*req, req->ret);
+		PROCESS_LINK_CONTEXT("LR0402getTerminalCfg")
+		bool ret = http_client->Post(*req, req->ret, &nextLink);
 		http_client->Destory();
 		if (!ret)
 			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("getTerminalCfgInfoThread failed, url:%s, terminalNo:%s, center_version:%s, root_version:%s",
@@ -524,7 +524,8 @@ DWORD getVTMErrMsgCfgInfoThread(LPVOID param)
 	VTMErrMsgCfgReq* req = (VTMErrMsgCfgReq*)param;
 	IHttpFunc* http_client = create_http(LogCallback);
 	if (http_client != NULL) {
-		bool ret = http_client->Post(*req, req->ret);
+		PROCESS_LINK_CONTEXT("LR0402getVTMErrCfg")
+		bool ret = http_client->Post(*req, req->ret, &nextLink);
 		http_client->Destory();
 		if (!ret)
 			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("getVTMErrMsgCfgInfoThread failed, url:%s, terminalNo:%s, page_num:%d",
@@ -542,7 +543,8 @@ DWORD getTokenThread(LPVOID param)
 
 	IHttpFunc* http_client = create_http(LogCallback);
 	if (http_client != NULL) {
-		bool ret = http_client->Post(*req, req->ret);
+		PROCESS_LINK_CONTEXT("LR0402getToken")
+		bool ret = http_client->Post(*req, req->ret, &nextLink);
 		http_client->Destory();
 		if (ret && req->ret.m_token.length() > 0)
 		{
@@ -674,7 +676,8 @@ std::pair<bool, VTMErrMsgCfgRet> GetVTMErrMsgCfgFromUrl(CSimpleString url, const
 
 		IHttpFunc* http_client = create_http(LogCallback);
 		if (http_client != NULL) {
-			ret = http_client->Post(req, req.ret);
+			PROCESS_LINK_CONTEXT("LR0402getVtmErr")
+			ret = http_client->Post(req, req.ret, &nextLink);
 			http_client->Destory();
 			if (!ret)
 			{
@@ -765,8 +768,8 @@ DWORD uploadTerminalVersionThread(LPVOID param)
 	TerminalVerUpdateRet dst;
 	IHttpFunc* http_client = create_http(LogCallback);
 	if (http_client != NULL) {
-
-		bool ret = http_client->Post(*req, dst);
+		PROCESS_LINK_CONTEXT("LR0402uploadTerminalVersion")
+		bool ret = http_client->Post(*req, dst, &nextLink);
 		http_client->Destory();
 		if (!ret)
 			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("uplaodTerminalVersionThread failed, url:%s, terminalNo:%s, rootVer:%s, centerVer:%s",

+ 6 - 4
Module/mod_CardIssuerStand/CardIssuerFSM.cpp

@@ -4484,7 +4484,8 @@ bool CCardIssuerFSM::RegistCardWhileCaptureCard(CSimpleStringA cardno)
 		csDate.GetData(), csTime.GetData(), cardno.GetLength(), cardno.SubString(0, 6).GetData(),
 		cardno.SubString(cardno.GetLength() - 4, 4).GetData(), m_captureReason.GetData());
 	long beg = GetTickCountRVC();
-	bool ret = client->Post(qRegistCardReq, qRegistCardRet);
+	PROCESS_LINK_CONTEXT("LR0402registerCard")
+	bool ret = client->Post(qRegistCardReq, qRegistCardRet, &nextLink);
 	long end = GetTickCountRVC();
 	if (ret)
 	{
@@ -4578,8 +4579,8 @@ bool CCardIssuerFSM::SyncMaterialCount(IHttpFunc* client,SyncMaterialCountInfo s
 		pReq2.CardPercent = syncInfo.arrCardPercent[i];
 		qTempReq.reqData.push_back(pReq2);
 	}
-
-	if (!client->Post(qTempReq, qTempRet)) {
+	PROCESS_LINK_CONTEXT("LR0402syncMaterialCount")
+	if (!client->Post(qTempReq, qTempRet, &nextLink)) {
 		LogWarn(Severity_Middle, Error_Exception, CardIssuer_UserErrorCode_SyncMaterialCount_Failed, CSimpleStringA::Format("<SyncMaterialCount>, http req fail,url=%s, err=%s", qTempReq.m_url.c_str(), qTempRet.m_errMsg.c_str()).GetData());
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402203Z02").setResultCode("RTA2330")("同步物料计数通讯失败");
 		return false;//通讯失败
@@ -5198,7 +5199,8 @@ int CCardIssuerFSM::JudgeCardType(CSimpleStringA cardno, bool& bMismatch)
 	qCardTypeReq.BODY.x1.xEacNbr = cardno.GetData();
 	qCardTypeReq.BODY.x1.xIacNbr = "";
 	long beg = GetTickCountRVC();
-	bool ret = client->Post(qCardTypeReq, qCardTypeRet);
+	PROCESS_LINK_CONTEXT("LR0402cardType")
+	bool ret = client->Post(qCardTypeReq, qCardTypeRet, &nextLink);
 	long end = GetTickCountRVC();
 	if (ret)
 	{

+ 4 - 2
Module/mod_CenterSetting/CenterSettingConn.cpp

@@ -487,7 +487,8 @@ void CenterSettingsMicroServiceHelper::UpdateVersion()
 	GetTimeoutValue(sReq.m_timeOut);
 	
 	//IHttpFunc* m_pHttpFunc = create_http(HTTPLogCallback);
-	bool ret =  m_pHttpFunc->Post(sReq, sResponse);
+    PROCESS_LINK_CONTEXT("LR0402uploadVersion")
+	bool ret =  m_pHttpFunc->Post(sReq, sResponse, &nextLink);
 
 	if(ret && sResponse.m_success)
 	{
@@ -618,7 +619,8 @@ void CenterSettingsMicroServiceHelper::GetTimeoutValue(int& timeout)
 #ifdef RVC_OS_WIN
 int CenterSettingsMicroServiceHelper::OnRequest(CenterSettingReq& req, CenterSettingResponse& res, string& errMsg)
 {
-	bool ret = m_pHttpFunc->Post(req, res);
+    PROCESS_LINK_CONTEXT("LR0402syncCenter")
+	bool ret = m_pHttpFunc->Post(req, res, &nextLink);
 
 	if(ret && res.m_success)
 	{

+ 2 - 1
Module/mod_IDCertificate/IDCertFSM.cpp

@@ -128,7 +128,8 @@ struct ImgChekTask : ITaskSp
 		imgCheckReq.imageBase64 = encodeIn;
 		imgCheckReq.m_url = m_fsm->checkImgURL;
 		long beg = GetTickCount();
-		bool ret = client->Post(imgCheckReq, imgCheckRet);
+		PROCESS_LINK_CONTEXT("LR0402imgCheck")
+		bool ret = client->Post(imgCheckReq, imgCheckRet, &nextLink);
 		long end = GetTickCount();
 
 		CSimpleStringA errMsg;

+ 12 - 10
Module/mod_UpgradeMgr/UpgradeTaskFSM.cpp

@@ -133,8 +133,8 @@ namespace Task
 			if(m_fsm->m_PrintHttpLog){
 				qTempReq.m_printDbg = true;
 			}
-
-			if(!client->Post(qTempReq, qTempRet)){
+			PROCESS_LINK_CONTEXT("LR0402sendSM3")
+			if(!client->Post(qTempReq, qTempRet, &nextLink)){
 				LogWarn(Severity_Middle, Error_Exception, ERR_TASK_SEND_SM3_HASH_FAIL,CSimpleStringA::Format("SendSM3Task http req fail,url=%s, err=%s",qTempReq.m_url.c_str(),qTempRet.m_errMsg.c_str()).GetData());
 				return false;//失败
 			}
@@ -260,7 +260,8 @@ namespace Task
 			}
 			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("UpdateTaskStatus req=%s",qTempReq.m_reqStr.c_str());
 
-			if(!client->Post(qTempReq, qTempRet)){
+			PROCESS_LINK_CONTEXT("LR0402updateTaskStatus")
+			if(!client->Post(qTempReq, qTempRet, &nextLink)){
 				LogWarn(Severity_Middle, Error_Exception, ERR_TASK_UPDATE_TASK_STATUS_FAIL,CSimpleStringA::Format("UpdateTaskStatus http req fail, upgradeTaskId=%s, url=%s, err=%s",m_fsm->m_currentTask.upgradeTaskId.GetData(),qTempReq.m_url.c_str(),qTempRet.m_errMsg.c_str()).GetData());
 				return false;//失败
 			}
@@ -386,7 +387,8 @@ namespace Task
 				qTempReq.m_printDbg = true;
 			}
 
-			if(!client->Post(qTempReq, qTempRet)){
+			PROCESS_LINK_CONTEXT("LR0402queryTask")
+			if(!client->Post(qTempReq, qTempRet, &nextLink)){
 				LogWarn(Severity_Middle, Error_Exception, ERR_TASK_QUERY_CURR_TASK_FAIL,CSimpleStringA::Format("QueryCurrTask http req fail,url=%s, err=%s",qTempReq.m_url.c_str(),qTempRet.m_errMsg.c_str()).GetData());
 				return false;//失败
 			}
@@ -749,8 +751,8 @@ namespace Task
 			if(m_fsm->m_PrintHttpLog){
 				qTempReq.m_printDbg = true;
 			}
-
-			if(!client->Post(qTempReq, qTempRet)){
+			PROCESS_LINK_CONTEXT("LR0402perTask")
+			if(!client->Post(qTempReq, qTempRet, &nextLink)){
 				if (qTempRet.m_sysCode == 6) {
 					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode(UpgradeMgr_PerTask_HTTP_ERR).setResultCode("RTA5651")("终端查询任务域名解析失败");
 				}else if(qTempRet.m_sysCode == 28){
@@ -887,8 +889,8 @@ namespace Task
 			if(m_fsm->m_PrintHttpLog){
 				qTempReq.m_printDbg = true;
 			}
-
-			if(!client->Post(qTempReq, qTempRet)){
+			PROCESS_LINK_CONTEXT("LR0402queryNewTask")
+			if(!client->Post(qTempReq, qTempRet, &nextLink)){
 				LogWarn(Severity_Middle, Error_Exception, ERR_TASK_QUERY_CONTINUE_NEW_TASK_FAIL,CSimpleStringA::Format("QueryNewContinueTask http req fail,url=%s, err=%s",qTempReq.m_url.c_str(),qTempRet.m_errMsg.c_str()).GetData());
 				return 0;//查询失败,继续查询
 			}
@@ -1230,8 +1232,8 @@ namespace Task
 			if(m_fsm->m_PrintHttpLog){
 				qTempReq.m_printDbg = true;
 			}
-
-			if(!client->Post(qTempReq, qTempRet)){
+			PROCESS_LINK_CONTEXT("LR0402queryTaskStatus")
+			if(!client->Post(qTempReq, qTempRet, &nextLink)){
 				LogWarn(Severity_Middle, Error_Exception, ERR_TASK_QUERY_TASK_STATUS_FAIL,CSimpleStringA::Format("QueryTaskStatus http req fail,upgradeTaskId=%s, url=%s, err=%s",m_fsm->m_currentTask.upgradeTaskId.GetData(), qTempReq.m_url.c_str(), qTempRet.m_errMsg.c_str()).GetData());
 				return false;//失败
 			}

+ 2 - 2
Module/mod_alarm/AlarmFSM.cpp

@@ -97,8 +97,8 @@ namespace Task
 			}
 			qTempReq.m_url=m_fsm->m_sendUrl.GetData();//访问地址
 			//DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("alarm send =%s",qTempReq.m_reqStr.c_str());
-
-			if(!client->Post(qTempReq, qTempRet)){
+			PROCESS_LINK_CONTEXT("LR0402SendAlarm")
+			if(!client->Post(qTempReq, qTempRet, &nextLink)){
 				DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("SendAlarmTask http req fail,url=%s",qTempReq.m_url.c_str());
 				return false;//失败
 			}

+ 6 - 4
Module/mod_cardissuerstore/CardIssuerFSM.cpp

@@ -5160,7 +5160,8 @@ bool CCardIssuerFSM::RegistCardWhileCaptureCard(CSimpleStringA cardno)
 
 
 	long beg = GetTickCountRVC();
-	bool ret = client->Post(qRegistCardReq, qRegistCardRet);
+	PROCESS_LINK_CONTEXT("LR0402registerCard")
+	bool ret = client->Post(qRegistCardReq, qRegistCardRet, &nextLink);
 	long end = GetTickCountRVC();
 	if (ret)
 	{
@@ -5238,8 +5239,8 @@ bool CCardIssuerFSM::SyncMaterialCount(IHttpFunc* client,SyncMaterialCountInfo s
 		pReq2.CardPercent = syncInfo.arrCardPercent[i];
 		qTempReq.reqData.push_back(pReq2);
 	}
-
-	if (!client->Post(qTempReq, qTempRet)) {
+	PROCESS_LINK_CONTEXT("LR0402syncMaterialCount")
+	if (!client->Post(qTempReq, qTempRet, &nextLink)) {
 		LogWarn(Severity_Middle, Error_Exception, CardIssuerStore_UserErrorCode_SyncMaterialCount_Failed, CSimpleStringA::Format("<SyncMaterialCount>, http req fail,url=%s, err=%s", qTempReq.m_url.c_str(), qTempRet.m_errMsg.c_str()).GetData());
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402220A1").setResultCode("RTA2W30")("同步物料计数通讯失败");
 		return false;//通讯失败
@@ -7133,7 +7134,8 @@ int CCardIssuerFSM::JudgeCardType(CSimpleStringA cardno, bool& bMismatch)
 	qCardTypeReq.BODY.x1.xEacNbr = cardno.GetData();
 	qCardTypeReq.BODY.x1.xIacNbr = "";
 	long beg = GetTickCountRVC();
-	bool ret = client->Post(qCardTypeReq, qCardTypeRet);
+	PROCESS_LINK_CONTEXT("LR0402cardType")
+	bool ret = client->Post(qCardTypeReq, qCardTypeRet, &nextLink);
 	long end = GetTickCountRVC();
 	if (ret)
 	{

+ 2 - 1
Module/mod_counterconnector/http_callrouter.cpp

@@ -96,7 +96,8 @@ node_list_head_t* get_http_callroute_list(http_call_info_t* pinfo, int itimeout,
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("begin http get request, timeout is %d, printdbg flag is %s.", req.m_timeOut, req.m_printDbg ? "true":"false");
 
 	CallRouteHTTPRet ret;
-	if (client->Get(req, ret)) {
+	PROCESS_LINK_CONTEXT("LR0402CallRoute")
+	if (client->Get(req, ret, &nextLink)) {
 		//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Get result is %s, returnCode:%s, code:%s, errorMsg:%s, message:%s, terminalNo:%s, branchNo:%s, accessNum:%s, voiceGateAddress:%s, mediaGateAddress:%s, voiceGateAddressBackUp:%s, mediaGateAddressBackUp:%s, queueName:%s, clientLevel:%d.",
 		//	ret.m_success?"success":"failed", ret.m_returnCode.c_str(), ret.m_code.c_str(), ret.m_errorMsg.c_str(), ret.m_message.c_str(), 
 		//	ret.m_call_route.m_terminalNo.c_str(), ret.m_call_route.m_branchNo.c_str(), ret.m_call_route.m_accessNum.c_str(),ret.m_call_route.m_voiceGateAddress.c_str(), 

+ 2 - 2
Module/mod_heartbeat/HeartBeatFSM.cpp

@@ -449,8 +449,8 @@ bool CHeartBeatFSM::HandShakeHttp(IHttpFunc* client,bool &isHeartBeatOk) {
 
 
 	//qTempReq.m_printDbg = true;
-
-	if (!client->Post(qTempReq, qTempRet)) {
+	PROCESS_LINK_CONTEXT("LR0402handShake")
+	if (!client->Post(qTempReq, qTempRet, &nextLink)) {
 		LogWarn(Severity_Low, Error_Exception, LOG_EVT_HEARTBEAT_HTTP_ERROR, CSimpleStringA::Format("HandShakeHttp http req fail,url=%s, err=%s", qTempReq.m_url.c_str(), qTempRet.m_errMsg.c_str()).GetData());
 		return false;//通讯失败
 	}

+ 2 - 1
Module/mod_mediacontroller/brightnessinfo.cpp

@@ -59,7 +59,8 @@ int post_camera_brightness_info_list(unsigned int& uposttime, CSimpleStringA& er
 	unsigned int ustarttime = SP::Module::Comm::RVCGetTickCount();
 
 	BrightnessInfoHTTPRet ret;
-	if (client->Post(req, ret)) {
+	PROCESS_LINK_CONTEXT("LR0402bringnessInfo")
+	if (client->Post(req, ret, &nextLink)) {
 		//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("post result is %s, returnCode:%s, code:%s, errorMsg:%s, message:%s.",
 		//	ret.m_success ? "success" : "failed", ret.m_returnCode.c_str(), ret.m_code.c_str(), ret.m_errorMsg.c_str(), ret.m_message.c_str());
 		uposttime = SP::Module::Comm::RVCGetTickCount() - ustarttime;

+ 2 - 1
Module/mod_recorder/recordinfo.cpp

@@ -71,7 +71,8 @@ int post_video_recordinfo_list(unsigned int& uposttime, CSimpleStringA& errormsg
 	unsigned int ustarttime = SP::Module::Comm::RVCGetTickCount();
 
 	RecordInfoHTTPRet ret;
-	if (client->Post(req, ret)) {
+	PROCESS_LINK_CONTEXT("LR0402record")
+	if (client->Post(req, ret, &nextLink)) {
 	/*	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("post result is %s, returnCode:%s, code:%s, errorMsg:%s, message:%s.",
 			ret.m_success ? "success" : "failed", ret.m_returnCode.c_str(), ret.m_code.c_str(), ret.m_errorMsg.c_str(), ret.m_message.c_str());*/
 		uposttime = SP::Module::Comm::RVCGetTickCount() - ustarttime;

+ 8 - 4
Module/mod_upload/UploadFSM.cpp

@@ -404,7 +404,8 @@ namespace Task
 			//qTempReq.m_printDbg = true;
 			qTempReq.m_url=m_fsm->m_centerUrl.queryTempFileUrl;//访问地址
 
-			if(!client->Post(qTempReq, qTempRet)){
+			PROCESS_LINK_CONTEXT("LR0402queryTempFile")
+			if(!client->Post(qTempReq, qTempRet, &nextLink)){
 				DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("queryTempFile http req fail ,fileName = %s, err=%s",m_fsm->m_currUploadFile->filePath.c_str(),qTempRet.m_errMsg.c_str());
 				return false;
 			}
@@ -472,7 +473,8 @@ namespace Task
 			updateStateReq.m_reqStr = jsonReq;//请求参数
 			updateStateReq.m_url=m_fsm->m_centerUrl.updateStateUrl;//访问地址
 
-			if(!client->Post(updateStateReq, updateStateRet)){
+			PROCESS_LINK_CONTEXT("LR0402updateState")
+			if(!client->Post(updateStateReq, updateStateRet, &nextLink)){
 				DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("updateState is fail, userCode = %s, errmsg = %s",updateStateRet.m_userCode.c_str(), updateStateRet.m_errMsg.c_str());
 				errmsg = CSimpleStringA::Format("updateState is fail, userCode = %s, errmsg = %s",updateStateRet.m_userCode.c_str(), updateStateRet.m_errMsg.c_str());
 				return false;
@@ -534,7 +536,8 @@ namespace Task
 			updateFailReq.m_reqStr = jsonReq;//请求参数
 			updateFailReq.m_url = m_fsm->m_centerUrl.addUploadFailUrl;//访问地址
 
-			if(!client->Post(updateFailReq, updateFailRet)){
+			PROCESS_LINK_CONTEXT("LR0402updateFail")
+			if(!client->Post(updateFailReq, updateFailRet, &nextLink)){
 				DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("addUploadFail is fail,userCode = %s",updateFailRet.m_userCode.c_str());
 				return false;
 			}
@@ -1272,7 +1275,8 @@ bool UploadFSM::queryPlan()
 	//planReq.m_printDbg = true;
 	planReq.m_url = m_centerUrl.queryPlanUrl.c_str();
 
-	if(!client->Post(planReq, planRet)){
+	PROCESS_LINK_CONTEXT("LR0402queryPlan")
+	if(!client->Post(planReq, planRet, &nextLink)){
 		LogWarn(Severity_Middle, Error_Unexpect, LOG_WARN_UPLOAD_QUERY_PLAN_ERROR, CSimpleStringA::Format("queryPlan http req fail,url is %s, err=%s",m_centerUrl.queryPlanUrl.c_str(),planRet.m_errMsg.c_str()).GetData());
 		client->Destory();
 		return false;//http错误,走旧模式