public async Task <MultiSourceResponse> MultiSourceAsync( MultiSourceRequest body, CancellationToken cancellationToken = default ) { if (body == default(MultiSourceRequest)) { throw new ArgumentNullException(nameof(body)); } var _baseUri = Client.Options.BaseUri; var _url = new RequestUriBuilder(); _url.Reset(_baseUri); _url.AppendPath( "/api/2019-06-17/aggregate/multi-source", false); using (var _req = Client.Pipeline.CreateRequest()) { _req.Uri = _url; _req.Method = RequestMethod.Post; if (body != default(MultiSourceRequest)) { _req.Content = RequestContent.Create(Encoding.UTF8.GetBytes(Client.Serialize(body))); _req.Headers.Add("Content-Type", "application/json; charset=utf-8"); } using (var _res = await Client.SendAsync(_req, cancellationToken).ConfigureAwait(false)) { if (_res.Status < 200 || _res.Status >= 300) { await OnMultiSourceFailed(_req, _res).ConfigureAwait(false); } if (_res.ContentStream == null) { await OnMultiSourceFailed(_req, _res).ConfigureAwait(false); } using (var _reader = new StreamReader(_res.ContentStream)) { var _content = await _reader.ReadToEndAsync().ConfigureAwait(false); var _body = Client.Deserialize <MultiSourceResponse>(_content); return(_body); } } } }
/// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='request'> /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <MultiSourceResponse> MultiSourceAsync(this IAggregate operations, MultiSourceRequest request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { using (var _result = await operations.MultiSourceWithHttpMessagesAsync(request, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }