Example #1
0
        /// <summary>
        /// Creates request instances used to update documents.
        /// </summary>
        /// <param name="id"></param>
        /// <param name="rev"></param>
        /// <param name="content"></param>
        /// <param name="cfg"></param>
        /// <returns></returns>
        public static PutDocumentRequest ForUpdate(string id, string rev, string content, Action <PutDocumentRequest> cfg = null)
        {
            var r = new PutDocumentRequest(id, rev, content);

            cfg?.Invoke(r);

            return(r);
        }
        public virtual HttpRequest Create(PutDocumentRequest request)
        {
            Ensure.That(request, "request").IsNotNull();

            return new HttpRequest(HttpMethod.Put, GenerateRelativeUrl(request))
                .SetRequestTypeHeader(request.GetType())
                .SetIfMatchHeader(request.Rev)
                .SetJsonContent(request.Content);
        }
        protected virtual string GenerateRelativeUrl(PutDocumentRequest request)
        {
            var urlParams = new UrlParams();

            urlParams.AddIfNotNullOrWhiteSpace("rev", request.Rev);
            urlParams.AddIfTrue("batch", request.Batch, "ok");

            return string.Format("/{0}{1}", new UrlSegment(request.Id), new QueryString(urlParams));
        }
Example #4
0
        /// <summary>
        /// Creates request instances used to update documents.
        /// </summary>
        /// <param name="id"></param>
        /// <param name="rev"></param>
        /// <param name="content"></param>
        /// <param name="cfg"></param>
        /// <returns></returns>
        public static PutDocumentRequest ForUpdate(string id, string rev, string content, Action<PutDocumentRequest> cfg = null)
        {
            var r = new PutDocumentRequest(id, rev, content);

            if (cfg != null)
                cfg(r);

            return r;
        }
Example #5
0
        /// <summary>
        /// Creates request instances used to update documents.
        /// </summary>
        /// <param name="id"></param>
        /// <param name="rev"></param>
        /// <param name="content"></param>
        /// <param name="cfg"></param>
        /// <returns></returns>
        public static PutDocumentRequest ForUpdate(string id, string rev, string content, Action <PutDocumentRequest> cfg = null)
        {
            var r = new PutDocumentRequest(id, rev, content);

            if (cfg != null)
            {
                cfg(r);
            }

            return(r);
        }
Example #6
0
 protected virtual HttpRequest CreateHttpRequest(PutDocumentRequest request)
 {
     return PutDocumentHttpRequestFactory.Create(request);
 }
Example #7
0
        public virtual async Task<DocumentHeaderResponse> PutAsync(PutDocumentRequest request)
        {
            Ensure.That(request, "request").IsNotNull();

            using (var httpRequest = CreateHttpRequest(request))
            {
                using (var res = await SendAsync(httpRequest).ForAwait())
                {
                    return ProcessDocumentHeaderResponse(res);
                }
            }
        }