@@ -55,68 +55,85 @@ BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int
5555 memset (tszAPIName, ' \0 ' , sizeof (tszAPIName));
5656 memset (&st_HDRParam, ' \0 ' , sizeof (RFCCOMPONENTS_HTTP_HDRPARAM));
5757
58- LPCTSTR lpszMethodName = _T (" POST" );
59- if (0 != _tcsncmp (lpszMethodName, pSt_HTTPParam->tszHttpMethod , _tcslen (lpszMethodName)))
58+ LPCTSTR lpszMethodPost = _T (" POST" );
59+ LPCTSTR lpszMethodGet = _T (" GET" );
60+ if (0 == _tcsnicmp (lpszMethodPost, pSt_HTTPParam->tszHttpMethod , _tcslen (lpszMethodPost)))
6061 {
61- st_HDRParam.bIsClose = TRUE ;
62- st_HDRParam.nHttpCode = 405 ;
62+ if (!XEngine_APPHelp_ProxyAuth (lpszClientAddr, lpszMethodPost, pSt_HTTPParam->tszHttpUri , pptszListHdr, nHdrCount, STORAGE_NETTYPE_HTTPCENTER))
63+ {
64+ return FALSE ;
65+ }
66+ if (st_ServiceCfg.st_XProxy .st_XProxyAuth .bAuth )
67+ {
68+ st_HDRParam.bAuth = TRUE ;
69+ }
70+ // 使用重定向?
71+ if (APIHelp_Distributed_IsMode (st_LoadbalanceCfg.st_LoadBalance .pStl_ListUseMode , STORAGE_NETTYPE_HTTPCENTER))
72+ {
73+ TCHAR tszHdrBuffer[1024 ];
74+ TCHAR tszStorageAddr[128 ];
6375
64- RfcComponents_HttpServer_SendMsgEx (xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam);
65- XEngine_Net_SendMsg (lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER);
66- XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" 业务客户端:%s,发送的方法不支持" ), lpszClientAddr);
67- return FALSE ;
68- }
69- if (!XEngine_APPHelp_ProxyAuth (lpszClientAddr, lpszMethodName, pSt_HTTPParam->tszHttpUri , pptszListHdr, nHdrCount, STORAGE_NETTYPE_HTTPCENTER))
70- {
71- return FALSE ;
72- }
73- if (st_ServiceCfg.st_XProxy .st_XProxyAuth .bAuth )
74- {
75- st_HDRParam.bAuth = TRUE ;
76- }
77- // 使用重定向?
78- if (APIHelp_Distributed_IsMode (st_LoadbalanceCfg.st_LoadBalance .pStl_ListUseMode , STORAGE_NETTYPE_HTTPCENTER))
79- {
80- TCHAR tszHdrBuffer[1024 ];
81- TCHAR tszStorageAddr[128 ];
76+ memset (tszHdrBuffer, ' \0 ' , sizeof (tszHdrBuffer));
77+ memset (tszStorageAddr, ' \0 ' , sizeof (tszStorageAddr));
8278
83- memset (tszHdrBuffer, ' \0 ' , sizeof (tszHdrBuffer)) ;
84- memset (tszStorageAddr, ' \0 ' , sizeof (tszStorageAddr)) ;
79+ st_HDRParam. bIsClose = TRUE ;
80+ st_HDRParam. nHttpCode = 302 ;
8581
86- st_HDRParam. bIsClose = TRUE ;
87- st_HDRParam. nHttpCode = 302 ;
82+ APIHelp_Distributed_RandomAddr (st_LoadbalanceCfg. st_LoadBalance . pStl_ListCenter , tszStorageAddr) ;
83+ _stprintf (tszHdrBuffer, _T ( " Location: %s%s \r\n " ), tszStorageAddr, pSt_HTTPParam-> tszHttpUri ) ;
8884
89- APIHelp_Distributed_RandomAddr (st_LoadbalanceCfg.st_LoadBalance .pStl_ListCenter , tszStorageAddr);
90- _stprintf (tszHdrBuffer, _T (" Location: %s%s\r\n " ), tszStorageAddr, pSt_HTTPParam->tszHttpUri );
85+ RfcComponents_HttpServer_SendMsgEx (xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL , 0 , tszHdrBuffer);
86+ XEngine_Net_SendMsg (lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER);
87+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T (" 业务客户端:%s,请求的函数被要求重定向到:%s%s" ), lpszClientAddr, tszStorageAddr, pSt_HTTPParam->tszHttpUri );
88+ return TRUE ;
89+ }
9190
92- RfcComponents_HttpServer_SendMsgEx (xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL , 0 , tszHdrBuffer);
93- XEngine_Net_SendMsg (lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER);
94- XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T (" 业务客户端:%s,请求的函数被要求重定向到:%s%s" ), lpszClientAddr, tszStorageAddr, pSt_HTTPParam->tszHttpUri );
95- return TRUE ;
96- }
91+ if (!RfcComponents_HttpHelp_GetUrlApi (pSt_HTTPParam->tszHttpUri , tszAPIVersion, tszAPIMethod, tszAPIName))
92+ {
93+ st_HDRParam.bIsClose = TRUE ;
94+ st_HDRParam.nHttpCode = 404 ;
9795
98- if (!RfcComponents_HttpHelp_GetUrlApi (pSt_HTTPParam->tszHttpUri , tszAPIVersion, tszAPIMethod, tszAPIName))
96+ RfcComponents_HttpServer_SendMsgEx (xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam);
97+ XEngine_Net_SendMsg (lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER);
98+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" 业务客户端:%s,请求的API不支持" ), lpszClientAddr);
99+ return FALSE ;
100+ }
101+ // 通知类型.用于多服务器
102+ if (0 == _tcsnicmp (XENGINE_STORAGE_APP_TASK_PASS, tszAPIMethod, _tcslen (XENGINE_STORAGE_APP_TASK_PASS)))
103+ {
104+ XEngine_Task_Pass (tszAPIName, lpszClientAddr, lpszMsgBuffer, nMsgLen, pSt_HTTPParam, pptszListHdr, nHdrCount);
105+ }
106+ else if (0 == _tcsnicmp (XENGINE_STORAGE_APP_TASK_QUERY, tszAPIMethod, _tcslen (XENGINE_STORAGE_APP_TASK_QUERY)))
107+ {
108+ XEngine_Task_Query (tszAPIName, lpszClientAddr, lpszMsgBuffer, nMsgLen, pSt_HTTPParam, pptszListHdr, nHdrCount);
109+ }
110+ else if (0 == _tcsnicmp (XENGINE_STORAGE_APP_TASK_EVENT, tszAPIMethod, _tcslen (XENGINE_STORAGE_APP_TASK_EVENT)))
111+ {
112+ XEngine_Task_Event (tszAPIName, lpszClientAddr, lpszMsgBuffer, nMsgLen, pSt_HTTPParam, pptszListHdr, nHdrCount);
113+ }
114+ }
115+ else if (0 == _tcsnicmp (lpszMethodGet, pSt_HTTPParam->tszHttpMethod , _tcslen (lpszMethodGet)))
116+ {
117+ if (!XEngine_APPHelp_ProxyAuth (lpszClientAddr, lpszMethodGet, pSt_HTTPParam->tszHttpUri , pptszListHdr, nHdrCount, STORAGE_NETTYPE_HTTPCENTER))
118+ {
119+ return FALSE ;
120+ }
121+ if (st_ServiceCfg.st_XProxy .st_XProxyAuth .bAuth )
122+ {
123+ st_HDRParam.bAuth = TRUE ;
124+ }
125+ XEngine_Task_P2p (pSt_HTTPParam->tszHttpUri , lpszClientAddr, pSt_HTTPParam);
126+ }
127+ else
99128 {
100129 st_HDRParam.bIsClose = TRUE ;
101- st_HDRParam.nHttpCode = 404 ;
130+ st_HDRParam.nHttpCode = 405 ;
102131
103132 RfcComponents_HttpServer_SendMsgEx (xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam);
104133 XEngine_Net_SendMsg (lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER);
105- XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" 业务客户端:%s,请求的API不支持 " ), lpszClientAddr);
134+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" 业务客户端:%s,发送的方法不支持 " ), lpszClientAddr);
106135 return FALSE ;
107136 }
108- // 通知类型.用于多服务器
109- if (0 == _tcsnicmp (XENGINE_STORAGE_APP_TASK_PASS, tszAPIMethod, _tcslen (XENGINE_STORAGE_APP_TASK_PASS)))
110- {
111- XEngine_Task_Pass (tszAPIName, lpszClientAddr, lpszMsgBuffer, nMsgLen, pSt_HTTPParam, pptszListHdr, nHdrCount);
112- }
113- else if (0 == _tcsnicmp (XENGINE_STORAGE_APP_TASK_QUERY, tszAPIMethod, _tcslen (XENGINE_STORAGE_APP_TASK_QUERY)))
114- {
115- XEngine_Task_Query (tszAPIName, lpszClientAddr, lpszMsgBuffer, nMsgLen, pSt_HTTPParam, pptszListHdr, nHdrCount);
116- }
117- else if (0 == _tcsnicmp (XENGINE_STORAGE_APP_TASK_EVENT, tszAPIMethod, _tcslen (XENGINE_STORAGE_APP_TASK_EVENT)))
118- {
119- XEngine_Task_Event (tszAPIName, lpszClientAddr, lpszMsgBuffer, nMsgLen, pSt_HTTPParam, pptszListHdr, nHdrCount);
120- }
137+
121138 return TRUE ;
122139}
0 commit comments