@@ -354,7 +354,29 @@ bool XEngine_Task_Manage(LPCXSTR lpszAPIName, LPCXSTR lpszClientAddr, LPCXSTR lp
354354 }
355355 else if (0 == _tcsxnicmp (lpszAPIBucket, lpszAPIName, _tcsxlen (lpszAPIBucket)))
356356 {
357- Protocol_StoragePacket_Bucket (tszRVBuffer, &nRVLen, st_LoadbalanceCfg.st_LoadBalance .pStl_ListBucket );
357+ XCHAR tszBuckKey[MAX_PATH] = {};
358+ Protocol_StorageParse_DirOperator (lpszMsgBuffer, NULL , tszBuckKey, NULL );
359+ if (_tcsxlen (tszBuckKey) > 0 )
360+ {
361+ XENGINE_STORAGEBUCKET st_StorageBucket = {};
362+ if (!APIHelp_Distributed_CTStorage (tszBuckKey, st_LoadbalanceCfg.st_LoadBalance .pStl_ListBucket , &st_StorageBucket))
363+ {
364+ st_HDRParam.bIsClose = true ;
365+ st_HDRParam.nHttpCode = 404 ;
366+
367+ HttpProtocol_Server_SendMsgEx (xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam);
368+ XEngine_Net_SendMsg (lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER);
369+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 业务客户端:%s,请求获取BUCKET:%s,信息失败,错误:%lX" ), lpszClientAddr, tszBuckKey, StorageHelp_GetLastError ());
370+ return false ;
371+ }
372+ list<XENGINE_STORAGEBUCKET> stl_ListBucket;
373+ stl_ListBucket.push_back (st_StorageBucket);
374+ Protocol_StoragePacket_Bucket (tszRVBuffer, &nRVLen, &stl_ListBucket);
375+ }
376+ else
377+ {
378+ Protocol_StoragePacket_Bucket (tszRVBuffer, &nRVLen, st_LoadbalanceCfg.st_LoadBalance .pStl_ListBucket );
379+ }
358380 HttpProtocol_Server_SendMsgEx (xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen);
359381 XEngine_Net_SendMsg (lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER);
360382 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 业务客户端:%s,请求获取BUCKET信息成功" ), lpszClientAddr);
0 commit comments