public virtual HttpRequest Create(ReplaceDocumentRequest request)
        {
            var httpRequest = CreateFor<ReplaceDocumentRequest>(new HttpMethod("COPY"), GenerateRequestUrl(request.SrcId, request.SrcRev));

            httpRequest.Headers.Add("Destination", string.Concat(request.TrgId, "?rev=", request.TrgRev));

            return httpRequest;
        }
Пример #2
0
        protected virtual string GenerateRelativeUrl(ReplaceDocumentRequest request)
        {
            var urlParams = new UrlParams();

            urlParams.AddIfNotNullOrWhiteSpace("rev", request.SrcRev);

            return(string.Format("/{0}{1}", new UrlSegment(request.SrcId), new QueryString(urlParams)));
        }
Пример #3
0
        public virtual HttpRequest Create(ReplaceDocumentRequest request)
        {
            var httpRequest = CreateFor <ReplaceDocumentRequest>(new HttpMethod("COPY"), GenerateRequestUrl(request.SrcId, request.SrcRev));

            httpRequest.Headers.Add("Destination", string.Concat(request.TrgId, "?rev=", request.TrgRev));

            return(httpRequest);
        }
Пример #4
0
        public virtual async Task <DocumentHeaderResponse> ReplaceAsync(ReplaceDocumentRequest request)
        {
            var httpRequest = CreateHttpRequest(request);

            using (var res = await SendAsync(httpRequest).ForAwait())
            {
                return(ProcessDocumentHeaderResponse(res));
            }
        }
Пример #5
0
        public virtual async Task <DocumentHeaderResponse> ReplaceAsync(ReplaceDocumentRequest request, CancellationToken cancellationToken = default)
        {
            var httpRequest = ReplaceDocumentHttpRequestFactory.Create(request);

            using (var res = await SendAsync(httpRequest, cancellationToken).ForAwait())
            {
                return(await DocumentHeaderReponseFactory.CreateAsync(res).ForAwait());
            }
        }
Пример #6
0
        public virtual async Task <DocumentHeaderResponse> ReplaceAsync(ReplaceDocumentRequest request)
        {
            Ensure.That(request, "request").IsNotNull();

            using (var httpRequest = CreateHttpRequest(request))
            {
                using (var res = await SendAsync(httpRequest).ForAwait())
                {
                    return(ProcessDocumentHeaderResponse(res));
                }
            }
        }
Пример #7
0
        public virtual HttpRequest Create(ReplaceDocumentRequest 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", string.Concat(request.TrgId, "?rev=", request.TrgRev));

            return(httpRequest);
        }
Пример #8
0
 protected virtual HttpRequest CreateHttpRequest(ReplaceDocumentRequest request)
 {
     return(ReplaceDocumentHttpRequestFactory.Create(request));
 }
Пример #9
0
 public static Task <DocumentHeaderResponse> PerformAsync(this IMyCouchClient client, ReplaceDocumentRequest request)
 {
     return(client.Documents.ReplaceAsync(request));
 }