Example #1
0
 public Stream BatchEndpointStream(RestHost host, int version, IList<BatchRequest> requests, bool enableImpersonation = true, BatchRequestOptions options = null)
 {
     var postData = CreatePostBatchData(requests, options);
     return _proxy.Post(host, MakeEndpointUrl(host, version, "batch.json"), postData, (request) => AdjustBatchRequest(host, request, enableImpersonation, options));
 }
Example #2
0
 public async Task<XElement> BatchEndpointXmlAsync(RestHost host, int version, IList<BatchRequest> requests, bool enableImpersonation = true, BatchRequestOptions options = null)
 {
     var postData = CreatePostBatchData(requests, options);
     return XElement.Parse(await ReadResponseStreamAsync(await _proxy.PostAsync(host, MakeEndpointUrl(host, version, "batch.json"), postData, (request) => AdjustBatchRequest(host, request, enableImpersonation, options))));
 }
Example #3
0
        private string CreatePostBatchData(IList<BatchRequest> requests, BatchRequestOptions options)
        {
            if (options == null)
                options = new BatchRequestOptions();

            if (requests == null || !requests.Any())
                throw new ArgumentException("Request must contain at least 1 request", "requests");

            foreach (var req in requests)
            {
                req.EndpointUrl = ReplaceTokens(req.EndpointUrl, req.PathParameters);
            }
            var postDataArr = requests.Select(r => r.ToString()).ToArray();
            var postData = string.Join("&", postDataArr);
            return postData + "&Sequential=" + options.RunSequentially.ToString().ToLowerInvariant();
        }
Example #4
0
 private void AdjustBatchRequest(RestHost host, HttpWebRequest request, bool enableImpersonation, BatchRequestOptions options)
 {
     AdjustRequestBase(host, request, enableImpersonation);
     if (options != null && options.AdditionalHeaders != null)
         SetAdditionalHeaders(request, options.AdditionalHeaders);
 }
Example #5
0
        /// <summary>
        /// REST Batch Request(Async)
        /// </summary>
        /// <param name="version">The REST Api Version</param>
        /// <param name="requests">A list of BatchRequest options to execute</param>
        /// <param name="enableImpersonation">Use the locally authenticated user versus the default</param>
        /// <param name="options">Additional optional items for this request type</param>
        /// <returns>Stream</returns>
        public Task<Stream> BatchRequestToStreamAsync(int version, IList<BatchRequest> requests, bool enableImpersonation = true, BatchRequestOptions options = null)
        {
            return Rest.BatchEndpointStreamAsync(this, version, requests, enableImpersonation, options);

        }
Example #6
0
 /// <summary>
 /// REST Batch Request
 /// </summary>
 /// <param name="version">The REST Api Version</param>
 /// <param name="requests">A list of BatchRequest options to execute</param>
 /// <param name="enableImpersonation">Use the locally authenticated user versus the default</param>
 /// <param name="options">Additional optional items for this request type</param>
 /// <returns>string</returns>
 public string BatchRequestToString(int version, IList<BatchRequest> requests, bool enableImpersonation = true, BatchRequestOptions options = null)
 {
     return Rest.BatchEndpointString( this,version, requests, enableImpersonation, options);
 }
Example #7
0
 /// <summary>
 /// REST Batch Request for JSON 
 /// </summary>
 /// <param name="version">The REST Api Version</param>
 /// <param name="requests">A list of BatchRequest options to execute</param>
 /// <param name="enableImpersonation">Use the locally authenticated user versus the default</param>
 /// <param name="options">Additional optional items for this request type</param>
 /// <returns>dynamic</returns>
 public dynamic BatchRequestToDynamic(int version, IList<BatchRequest> requests, bool enableImpersonation = true, BatchRequestOptions options = null)
 {
     var json =  Rest.BatchEndpointString(this, version, requests, enableImpersonation, options);
     return json != null ? JsonConvert.Deserialize(json) : null;
 }
Example #8
0
 /// <summary>
 /// REST Batch Request for JSON 
 /// </summary>
 /// <param name="version">The REST Api Version</param>
 /// <param name="requests">A list of BatchRequest options to execute</param>
 /// <param name="enableImpersonation">Use the locally authenticated user versus the default</param>
 /// <param name="options">Additional optional items for this request type</param>
 /// <returns>XElement</returns>
 public XElement BatchRequestToXml(int version, IList<BatchRequest> requests, bool enableImpersonation = true, BatchRequestOptions options = null)
 {
     return Rest.BatchEndpointXml(this, version, requests, enableImpersonation, options);
 }