private async Task <WopiResponse> ProcessGetLockRequestAsync(GetLockRequest wopiRequest, CancellationToken cancellationToken) { if (!int.TryParse(wopiRequest.FileId, out var contentId)) { return new WopiResponse { StatusCode = HttpStatusCode.NotFound } } ; if (!(await Node.LoadNodeAsync(contentId, cancellationToken).ConfigureAwait(false) is File file)) { return new WopiResponse { StatusCode = HttpStatusCode.NotFound } } ; var existingLock = SharedLock.GetLock(file.Id, CancellationToken.None) ?? string.Empty; return(new WopiResponse { StatusCode = HttpStatusCode.OK, Headers = new Dictionary <string, string> { { WopiHeader.Lock, existingLock }, } }); }
private WopiResponse ProcessGetLockRequest(GetLockRequest wopiReq) { if (!int.TryParse(wopiReq.FileId, out var contentId)) { return new WopiResponse { StatusCode = HttpStatusCode.NotFound } } ; if (!(Node.LoadNode(contentId) is File file)) { return new WopiResponse { StatusCode = HttpStatusCode.NotFound } } ; var existingLock = SharedLock.GetLock(file.Id, CancellationToken.None) ?? string.Empty; return(new WopiResponse { StatusCode = HttpStatusCode.OK, Headers = new Dictionary <string, string> { { WopiHeader.Lock, existingLock }, } }); }