public virtual HttpRequest Create(PutAttachmentRequest request)
        {
            Ensure.That(request, "request").IsNotNull();

            var httpRequest = new HttpRequest(HttpMethod.Put, GenerateRelativeUrl(request))
                .SetRequestTypeHeader(request.GetType())
                .SetIfMatchHeader(request.DocRev)
                .SetContent(request.Content, request.ContentType);

            return httpRequest;
        }
        protected virtual string GenerateRelativeUrl(PutAttachmentRequest request)
        {
            var urlParams = new UrlParams();

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

            return string.Format("/{0}/{1}{2}",
                new UrlSegment(request.DocId),
                new UrlSegment(request.Name),
                new QueryString(urlParams));
        }
Exemplo n.º 3
0
        public virtual async Task<DocumentHeaderResponse> PutAsync(PutAttachmentRequest request)
        {
            Ensure.That(request, "request").IsNotNull();

            using (var httpRequest = CreateHttpRequest(request))
            {
                using (var res = await SendAsync(httpRequest).ForAwait())
                {
                    return ProcessDocumentHeaderResponse(res);
                }
            }
        }
Exemplo n.º 4
0
 protected virtual HttpRequest CreateHttpRequest(PutAttachmentRequest request)
 {
     return PutAttachmentHttpRequestFactory.Create(request);
 }