protected virtual string GenerateRelativeUrl(CopyDocumentRequest request) { var urlParams = new UrlParams(); urlParams.AddIfNotNullOrWhiteSpace("rev", request.SrcRev); return string.Format("/{0}{1}", new UrlSegment(request.SrcId), new QueryString(urlParams)); }
public virtual HttpRequest Create(CopyDocumentRequest request) { Ensure.That(request, "request").IsNotNull(); var httpRequest = new HttpRequest(new HttpMethod("COPY"), GenerateRelativeUrl(request)) .SetRequestTypeHeader(request.GetType()) .SetIfMatchHeader(request.SrcRev); httpRequest.Headers.Add("Destination", request.NewId); return httpRequest; }
public virtual async Task<DocumentHeaderResponse> CopyAsync(CopyDocumentRequest request) { Ensure.That(request, "request").IsNotNull(); using (var httpRequest = CreateHttpRequest(request)) { using (var res = await SendAsync(httpRequest).ForAwait()) { return ProcessDocumentHeaderResponse(res); } } }
protected virtual HttpRequest CreateHttpRequest(CopyDocumentRequest request) { return CopyDocumentHttpRequestFactory.Create(request); }