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)); }
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); } } }
protected virtual HttpRequest CreateHttpRequest(PutAttachmentRequest request) { return PutAttachmentHttpRequestFactory.Create(request); }