Example #1
0
        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 },
                }
            });
        }
Example #2
0
        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 },
                }
            });
        }