Skip to content

Commit 9d65050

Browse files
committed
added:unlock support for web dav
1 parent ba02ab1 commit 9d65050

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

XEngine_Source/XEngine_StorageApp/StorageApp_Webdav.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ bool XEngine_Task_HttpWebdav(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
5555
LPCXSTR lpszMethodPut = _X("PUT");
5656
LPCXSTR lpszMethodDel = _X("DELETE");
5757
LPCXSTR lpszMethodLock = _X("LOCK");
58+
LPCXSTR lpszMethodUNLock = _X("UNLOCK");
5859

5960
st_HDRParam.bIsClose = false;
6061
st_HDRParam.nHttpCode = 200;
@@ -217,6 +218,18 @@ bool XEngine_Task_HttpWebdav(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
217218
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("WEBDAV客户端:%s,处理WEBDAV协议LOCK方法成功,锁用户:%s"), lpszClientAddr, st_WDLock.tszOwner);
218219
return true;
219220
}
221+
else if (0 == _tcsxnicmp(lpszMethodUNLock, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodUNLock)))
222+
{
223+
//使用重定向实现上传
224+
st_HDRParam.bIsClose = false;
225+
st_HDRParam.nHttpCode = 204;
226+
227+
Session_Webdav_Delete(pSt_HTTPParam->tszHttpUri);
228+
HttpProtocol_Server_SendMsgEx(xhWebdavHttp, tszSDBuffer, &nSDLen, &st_HDRParam);
229+
XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPWEBDAV);
230+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("WEBDAV客户端:%s,处理WEBDAV协议UNLOCK方法成功,锁文件:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri);
231+
return true;
232+
}
220233
else if (0 == _tcsxnicmp(lpszMethodPropPatch, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodPropPatch)))
221234
{
222235
st_HDRParam.bIsClose = false;

0 commit comments

Comments
 (0)