@@ -48,12 +48,13 @@ XHTHREAD CALLBACK XEngine_AuthService_HttpThread(XPVOID lParam)
4848 return 0 ;
4949}
5050
51- bool XEngine_Client_HttpTask (LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM * pSt_HTTPParament)
51+ bool XEngine_Client_HttpTask (LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParament)
5252{
5353 int nSDLen = 4096 ;
5454 XCHAR tszSDBuffer[4096 ];
5555 LPCXSTR lpszMethodPost = _X (" POST" );
5656 LPCXSTR lpszMethodGet = _X (" GET" );
57+ LPCXSTR lpszMethodOPtion = _X (" OPTION" );
5758
5859 memset (tszSDBuffer, ' \0 ' , sizeof (tszSDBuffer));
5960
@@ -64,11 +65,11 @@ bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
6465
6566 // 是否在黑名单
6667 bool bSuccess = false ;
67- if (0 == st_AuthConfig.st_XSql .nDBType )
68+ if (0 == st_AuthConfig.st_XSql .nDBType )
6869 {
6970 bSuccess = DBModule_SQLite_BannedExist (&st_Banned); // IP地址是否在黑名单
7071 }
71- else
72+ else
7273 {
7374 bSuccess = DBModule_MySQL_BannedExist (&st_Banned);// IP地址是否在黑名单
7475 }
@@ -251,7 +252,7 @@ bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
251252 memset (tszURLValue, ' \0 ' , sizeof (tszURLValue));
252253
253254 BaseLib_String_GetKeyValue (pptszList[0 ], " =" , tszURLKey, tszURLValue);
254- if (0 == _tcsxnicmp (lpszAPIVerDCode, tszURLValue, _tcsxlen (lpszAPIVerDCode)) || 0 == _tcsxnicmp (lpszAPIVerTime, tszURLValue, _tcsxlen (lpszAPIVerTime)) ||
255+ if (0 == _tcsxnicmp (lpszAPIVerDCode, tszURLValue, _tcsxlen (lpszAPIVerDCode)) || 0 == _tcsxnicmp (lpszAPIVerTime, tszURLValue, _tcsxlen (lpszAPIVerTime)) ||
255256 0 == _tcsxnicmp (lpszAPIVerNotice, tszURLValue, _tcsxlen (lpszAPIVerNotice)))
256257 {
257258 XEngine_AuthorizeHTTP_GetTask (lpszClientAddr, pptszList, nListCount);
@@ -262,6 +263,12 @@ bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
262263 }
263264 BaseLib_Memory_Free ((XPPPMEM)&pptszList, nListCount);
264265 }
266+ else if (0 == _tcsxnicmp (lpszMethodOPtion, pSt_HTTPParament->tszHttpMethod , _tcsxlen (lpszMethodOPtion)))
267+ {
268+ Protocol_Packet_HttpComm (tszSDBuffer, &nSDLen);
269+ XEngine_Client_TaskSend (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
270+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" HTTP客户端:%s,发送的OPTION方法处理成功.此为心跳请求" ), lpszClientAddr);
271+ }
265272 else
266273 {
267274 Protocol_Packet_HttpComm (tszSDBuffer, &nSDLen, 405 , " method not allow" );
0 commit comments