ServiceRestClient
class ServiceRestClient
using Azure.Core;
using Azure.Core.Pipeline;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Common;
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using System.Xml.Linq;
namespace Azure.Storage.Blobs
{
internal class ServiceRestClient
{
private readonly HttpPipeline _pipeline;
private readonly string _url;
private readonly string _version;
internal ClientDiagnostics ClientDiagnostics { get; }
public ServiceRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string url, string version)
{
if (clientDiagnostics == null)
throw new ArgumentNullException("clientDiagnostics");
ClientDiagnostics = clientDiagnostics;
if (pipeline == null)
throw new ArgumentNullException("pipeline");
_pipeline = pipeline;
if (url == null)
throw new ArgumentNullException("url");
_url = url;
if (version == null)
throw new ArgumentNullException("version");
_version = version;
}
internal HttpMessage CreateSetPropertiesRequest(BlobServiceProperties blobServiceProperties, int? timeout)
{
HttpMessage val = _pipeline.CreateMessage();
Request request = val.get_Request();
request.set_Method(RequestMethod.get_Put());
RawRequestUriBuilder rawRequestUriBuilder = new RawRequestUriBuilder();
rawRequestUriBuilder.AppendRaw(_url, false);
rawRequestUriBuilder.AppendPath("/", false);
rawRequestUriBuilder.AppendQuery("restype", "service", true);
rawRequestUriBuilder.AppendQuery("comp", "properties", true);
if (timeout.HasValue)
rawRequestUriBuilder.AppendQuery("timeout", timeout.Value, true);
request.set_Uri(rawRequestUriBuilder);
RequestHeaders headers = request.get_Headers();
headers.Add("x-ms-version", _version);
headers = request.get_Headers();
headers.Add("Accept", "application/xml");
headers = request.get_Headers();
headers.Add("Content-Type", "application/xml");
XmlWriterContent xmlWriterContent = new XmlWriterContent();
xmlWriterContent.XmlWriter.WriteObjectValue(blobServiceProperties, "StorageServiceProperties");
request.set_Content(xmlWriterContent);
return val;
}
[AsyncStateMachine(typeof(<SetPropertiesAsync>d__8))]
public Task<ResponseWithHeaders<ServiceSetPropertiesHeaders>> SetPropertiesAsync(BlobServiceProperties blobServiceProperties, int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
<SetPropertiesAsync>d__8 stateMachine = default(<SetPropertiesAsync>d__8);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<ResponseWithHeaders<ServiceSetPropertiesHeaders>>.Create();
stateMachine.<>4__this = this;
stateMachine.blobServiceProperties = blobServiceProperties;
stateMachine.timeout = timeout;
stateMachine.cancellationToken = cancellationToken;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
public ResponseWithHeaders<ServiceSetPropertiesHeaders> SetProperties(BlobServiceProperties blobServiceProperties, int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
if (blobServiceProperties != null) {
HttpMessage val = CreateSetPropertiesRequest(blobServiceProperties, timeout);
try {
_pipeline.Send(val, cancellationToken);
ServiceSetPropertiesHeaders headers = new ServiceSetPropertiesHeaders(val.get_Response());
if (val.get_Response().get_Status() != 202)
throw new RequestFailedException(val.get_Response());
return ResponseWithHeaders.FromValue(headers, val.get_Response());
} finally {
((IDisposable)val)?.Dispose();
}
}
throw new ArgumentNullException("blobServiceProperties");
}
internal HttpMessage CreateGetPropertiesRequest(int? timeout)
{
HttpMessage val = _pipeline.CreateMessage();
Request request = val.get_Request();
request.set_Method(RequestMethod.get_Get());
RawRequestUriBuilder rawRequestUriBuilder = new RawRequestUriBuilder();
rawRequestUriBuilder.AppendRaw(_url, false);
rawRequestUriBuilder.AppendPath("/", false);
rawRequestUriBuilder.AppendQuery("restype", "service", true);
rawRequestUriBuilder.AppendQuery("comp", "properties", true);
if (timeout.HasValue)
rawRequestUriBuilder.AppendQuery("timeout", timeout.Value, true);
request.set_Uri(rawRequestUriBuilder);
RequestHeaders headers = request.get_Headers();
headers.Add("x-ms-version", _version);
headers = request.get_Headers();
headers.Add("Accept", "application/xml");
return val;
}
[AsyncStateMachine(typeof(<GetPropertiesAsync>d__11))]
public Task<ResponseWithHeaders<BlobServiceProperties, ServiceGetPropertiesHeaders>> GetPropertiesAsync(int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
<GetPropertiesAsync>d__11 stateMachine = default(<GetPropertiesAsync>d__11);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<ResponseWithHeaders<BlobServiceProperties, ServiceGetPropertiesHeaders>>.Create();
stateMachine.<>4__this = this;
stateMachine.timeout = timeout;
stateMachine.cancellationToken = cancellationToken;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
public ResponseWithHeaders<BlobServiceProperties, ServiceGetPropertiesHeaders> GetProperties(int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
HttpMessage val = CreateGetPropertiesRequest(timeout);
try {
_pipeline.Send(val, cancellationToken);
ServiceGetPropertiesHeaders headers = new ServiceGetPropertiesHeaders(val.get_Response());
if (val.get_Response().get_Status() != 200)
throw new RequestFailedException(val.get_Response());
BlobServiceProperties value = null;
XElement xElement = XDocument.Load(val.get_Response().get_ContentStream(), LoadOptions.PreserveWhitespace).Element("StorageServiceProperties");
if (xElement != null)
value = BlobServiceProperties.DeserializeBlobServiceProperties(xElement);
return ResponseWithHeaders.FromValue(value, headers, val.get_Response());
} finally {
((IDisposable)val)?.Dispose();
}
}
internal HttpMessage CreateGetStatisticsRequest(int? timeout)
{
HttpMessage val = _pipeline.CreateMessage();
Request request = val.get_Request();
request.set_Method(RequestMethod.get_Get());
RawRequestUriBuilder rawRequestUriBuilder = new RawRequestUriBuilder();
rawRequestUriBuilder.AppendRaw(_url, false);
rawRequestUriBuilder.AppendPath("/", false);
rawRequestUriBuilder.AppendQuery("restype", "service", true);
rawRequestUriBuilder.AppendQuery("comp", "stats", true);
if (timeout.HasValue)
rawRequestUriBuilder.AppendQuery("timeout", timeout.Value, true);
request.set_Uri(rawRequestUriBuilder);
RequestHeaders headers = request.get_Headers();
headers.Add("x-ms-version", _version);
headers = request.get_Headers();
headers.Add("Accept", "application/xml");
return val;
}
[AsyncStateMachine(typeof(<GetStatisticsAsync>d__14))]
public Task<ResponseWithHeaders<BlobServiceStatistics, ServiceGetStatisticsHeaders>> GetStatisticsAsync(int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
<GetStatisticsAsync>d__14 stateMachine = default(<GetStatisticsAsync>d__14);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<ResponseWithHeaders<BlobServiceStatistics, ServiceGetStatisticsHeaders>>.Create();
stateMachine.<>4__this = this;
stateMachine.timeout = timeout;
stateMachine.cancellationToken = cancellationToken;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
public ResponseWithHeaders<BlobServiceStatistics, ServiceGetStatisticsHeaders> GetStatistics(int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
HttpMessage val = CreateGetStatisticsRequest(timeout);
try {
_pipeline.Send(val, cancellationToken);
ServiceGetStatisticsHeaders headers = new ServiceGetStatisticsHeaders(val.get_Response());
if (val.get_Response().get_Status() != 200)
throw new RequestFailedException(val.get_Response());
BlobServiceStatistics value = null;
XElement xElement = XDocument.Load(val.get_Response().get_ContentStream(), LoadOptions.PreserveWhitespace).Element("StorageServiceStats");
if (xElement != null)
value = BlobServiceStatistics.DeserializeBlobServiceStatistics(xElement);
return ResponseWithHeaders.FromValue(value, headers, val.get_Response());
} finally {
((IDisposable)val)?.Dispose();
}
}
internal HttpMessage CreateListContainersSegmentRequest(string prefix, string marker, int? maxresults, IEnumerable<ListContainersIncludeType> include, int? timeout)
{
HttpMessage val = _pipeline.CreateMessage();
Request request = val.get_Request();
request.set_Method(RequestMethod.get_Get());
RawRequestUriBuilder rawRequestUriBuilder = new RawRequestUriBuilder();
rawRequestUriBuilder.AppendRaw(_url, false);
rawRequestUriBuilder.AppendPath("/", false);
rawRequestUriBuilder.AppendQuery("comp", "list", true);
if (prefix != null)
rawRequestUriBuilder.AppendQuery("prefix", prefix, true);
if (marker != null)
rawRequestUriBuilder.AppendQuery("marker", marker, true);
if (maxresults.HasValue)
rawRequestUriBuilder.AppendQuery("maxresults", maxresults.Value, true);
if (include != null) {
ChangeTrackingList<ListContainersIncludeType> changeTrackingList = include as ChangeTrackingList<ListContainersIncludeType>;
if (changeTrackingList == null || !changeTrackingList.IsUndefined)
RequestUriBuilderExtensions.AppendQueryDelimited(rawRequestUriBuilder, "include", include, ",", true);
}
if (timeout.HasValue)
rawRequestUriBuilder.AppendQuery("timeout", timeout.Value, true);
request.set_Uri(rawRequestUriBuilder);
RequestHeaders headers = request.get_Headers();
headers.Add("x-ms-version", _version);
headers = request.get_Headers();
headers.Add("Accept", "application/xml");
return val;
}
[AsyncStateMachine(typeof(<ListContainersSegmentAsync>d__17))]
public Task<ResponseWithHeaders<ListContainersSegmentResponse, ServiceListContainersSegmentHeaders>> ListContainersSegmentAsync(string prefix = null, string marker = null, int? maxresults = default(int?), IEnumerable<ListContainersIncludeType> include = null, int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
<ListContainersSegmentAsync>d__17 stateMachine = default(<ListContainersSegmentAsync>d__17);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<ResponseWithHeaders<ListContainersSegmentResponse, ServiceListContainersSegmentHeaders>>.Create();
stateMachine.<>4__this = this;
stateMachine.prefix = prefix;
stateMachine.marker = marker;
stateMachine.maxresults = maxresults;
stateMachine.include = include;
stateMachine.timeout = timeout;
stateMachine.cancellationToken = cancellationToken;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
public ResponseWithHeaders<ListContainersSegmentResponse, ServiceListContainersSegmentHeaders> ListContainersSegment(string prefix = null, string marker = null, int? maxresults = default(int?), IEnumerable<ListContainersIncludeType> include = null, int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
HttpMessage val = CreateListContainersSegmentRequest(prefix, marker, maxresults, include, timeout);
try {
_pipeline.Send(val, cancellationToken);
ServiceListContainersSegmentHeaders headers = new ServiceListContainersSegmentHeaders(val.get_Response());
if (val.get_Response().get_Status() != 200)
throw new RequestFailedException(val.get_Response());
ListContainersSegmentResponse value = null;
XElement xElement = XDocument.Load(val.get_Response().get_ContentStream(), LoadOptions.PreserveWhitespace).Element("EnumerationResults");
if (xElement != null)
value = ListContainersSegmentResponse.DeserializeListContainersSegmentResponse(xElement);
return ResponseWithHeaders.FromValue(value, headers, val.get_Response());
} finally {
((IDisposable)val)?.Dispose();
}
}
internal HttpMessage CreateGetUserDelegationKeyRequest(KeyInfo keyInfo, int? timeout)
{
HttpMessage val = _pipeline.CreateMessage();
Request request = val.get_Request();
request.set_Method(RequestMethod.get_Post());
RawRequestUriBuilder rawRequestUriBuilder = new RawRequestUriBuilder();
rawRequestUriBuilder.AppendRaw(_url, false);
rawRequestUriBuilder.AppendPath("/", false);
rawRequestUriBuilder.AppendQuery("restype", "service", true);
rawRequestUriBuilder.AppendQuery("comp", "userdelegationkey", true);
if (timeout.HasValue)
rawRequestUriBuilder.AppendQuery("timeout", timeout.Value, true);
request.set_Uri(rawRequestUriBuilder);
RequestHeaders headers = request.get_Headers();
headers.Add("x-ms-version", _version);
headers = request.get_Headers();
headers.Add("Accept", "application/xml");
headers = request.get_Headers();
headers.Add("Content-Type", "application/xml");
XmlWriterContent xmlWriterContent = new XmlWriterContent();
xmlWriterContent.XmlWriter.WriteObjectValue(keyInfo, "KeyInfo");
request.set_Content(xmlWriterContent);
return val;
}
[AsyncStateMachine(typeof(<GetUserDelegationKeyAsync>d__20))]
public Task<ResponseWithHeaders<UserDelegationKey, ServiceGetUserDelegationKeyHeaders>> GetUserDelegationKeyAsync(KeyInfo keyInfo, int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
<GetUserDelegationKeyAsync>d__20 stateMachine = default(<GetUserDelegationKeyAsync>d__20);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<ResponseWithHeaders<UserDelegationKey, ServiceGetUserDelegationKeyHeaders>>.Create();
stateMachine.<>4__this = this;
stateMachine.keyInfo = keyInfo;
stateMachine.timeout = timeout;
stateMachine.cancellationToken = cancellationToken;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
public ResponseWithHeaders<UserDelegationKey, ServiceGetUserDelegationKeyHeaders> GetUserDelegationKey(KeyInfo keyInfo, int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
if (keyInfo != null) {
HttpMessage val = CreateGetUserDelegationKeyRequest(keyInfo, timeout);
try {
_pipeline.Send(val, cancellationToken);
ServiceGetUserDelegationKeyHeaders headers = new ServiceGetUserDelegationKeyHeaders(val.get_Response());
if (val.get_Response().get_Status() != 200)
throw new RequestFailedException(val.get_Response());
UserDelegationKey value = null;
XElement xElement = XDocument.Load(val.get_Response().get_ContentStream(), LoadOptions.PreserveWhitespace).Element("UserDelegationKey");
if (xElement != null)
value = UserDelegationKey.DeserializeUserDelegationKey(xElement);
return ResponseWithHeaders.FromValue(value, headers, val.get_Response());
} finally {
((IDisposable)val)?.Dispose();
}
}
throw new ArgumentNullException("keyInfo");
}
internal HttpMessage CreateGetAccountInfoRequest(int? timeout)
{
HttpMessage val = _pipeline.CreateMessage();
Request request = val.get_Request();
request.set_Method(RequestMethod.get_Get());
RawRequestUriBuilder rawRequestUriBuilder = new RawRequestUriBuilder();
rawRequestUriBuilder.AppendRaw(_url, false);
rawRequestUriBuilder.AppendPath("/", false);
rawRequestUriBuilder.AppendQuery("restype", "account", true);
rawRequestUriBuilder.AppendQuery("comp", "properties", true);
if (timeout.HasValue)
rawRequestUriBuilder.AppendQuery("timeout", timeout.Value, true);
request.set_Uri(rawRequestUriBuilder);
RequestHeaders headers = request.get_Headers();
headers.Add("x-ms-version", _version);
headers = request.get_Headers();
headers.Add("Accept", "application/xml");
return val;
}
[AsyncStateMachine(typeof(<GetAccountInfoAsync>d__23))]
public Task<ResponseWithHeaders<ServiceGetAccountInfoHeaders>> GetAccountInfoAsync(int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
<GetAccountInfoAsync>d__23 stateMachine = default(<GetAccountInfoAsync>d__23);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<ResponseWithHeaders<ServiceGetAccountInfoHeaders>>.Create();
stateMachine.<>4__this = this;
stateMachine.timeout = timeout;
stateMachine.cancellationToken = cancellationToken;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
public ResponseWithHeaders<ServiceGetAccountInfoHeaders> GetAccountInfo(int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
HttpMessage val = CreateGetAccountInfoRequest(timeout);
try {
_pipeline.Send(val, cancellationToken);
ServiceGetAccountInfoHeaders headers = new ServiceGetAccountInfoHeaders(val.get_Response());
if (val.get_Response().get_Status() != 200)
throw new RequestFailedException(val.get_Response());
return ResponseWithHeaders.FromValue(headers, val.get_Response());
} finally {
((IDisposable)val)?.Dispose();
}
}
internal HttpMessage CreateSubmitBatchRequest(long contentLength, string multipartContentType, Stream body, int? timeout)
{
HttpMessage val = _pipeline.CreateMessage();
Request request = val.get_Request();
request.set_Method(RequestMethod.get_Post());
RawRequestUriBuilder rawRequestUriBuilder = new RawRequestUriBuilder();
rawRequestUriBuilder.AppendRaw(_url, false);
rawRequestUriBuilder.AppendPath("/", false);
rawRequestUriBuilder.AppendQuery("comp", "batch", true);
if (timeout.HasValue)
rawRequestUriBuilder.AppendQuery("timeout", timeout.Value, true);
request.set_Uri(rawRequestUriBuilder);
RequestHeaders headers = request.get_Headers();
headers.Add("x-ms-version", _version);
headers = request.get_Headers();
headers.Add("Accept", "application/xml");
request.get_Headers().Add("Content-Length", contentLength);
headers = request.get_Headers();
headers.Add("Content-Type", multipartContentType);
request.set_Content(RequestContent.Create(body));
return val;
}
[AsyncStateMachine(typeof(<SubmitBatchAsync>d__26))]
public Task<ResponseWithHeaders<Stream, ServiceSubmitBatchHeaders>> SubmitBatchAsync(long contentLength, string multipartContentType, Stream body, int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
<SubmitBatchAsync>d__26 stateMachine = default(<SubmitBatchAsync>d__26);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<ResponseWithHeaders<Stream, ServiceSubmitBatchHeaders>>.Create();
stateMachine.<>4__this = this;
stateMachine.contentLength = contentLength;
stateMachine.multipartContentType = multipartContentType;
stateMachine.body = body;
stateMachine.timeout = timeout;
stateMachine.cancellationToken = cancellationToken;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
public ResponseWithHeaders<Stream, ServiceSubmitBatchHeaders> SubmitBatch(long contentLength, string multipartContentType, Stream body, int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
if (multipartContentType == null)
throw new ArgumentNullException("multipartContentType");
if (body != null) {
HttpMessage val = CreateSubmitBatchRequest(contentLength, multipartContentType, body, timeout);
try {
_pipeline.Send(val, cancellationToken);
ServiceSubmitBatchHeaders headers = new ServiceSubmitBatchHeaders(val.get_Response());
if (val.get_Response().get_Status() != 200)
throw new RequestFailedException(val.get_Response());
return ResponseWithHeaders.FromValue(val.ExtractResponseContent(), headers, val.get_Response());
} finally {
((IDisposable)val)?.Dispose();
}
}
throw new ArgumentNullException("body");
}
internal HttpMessage CreateFilterBlobsRequest(int? timeout, string where, string marker, int? maxresults, IEnumerable<FilterBlobsIncludeItem> include)
{
HttpMessage val = _pipeline.CreateMessage();
Request request = val.get_Request();
request.set_Method(RequestMethod.get_Get());
RawRequestUriBuilder rawRequestUriBuilder = new RawRequestUriBuilder();
rawRequestUriBuilder.AppendRaw(_url, false);
rawRequestUriBuilder.AppendPath("/", false);
rawRequestUriBuilder.AppendQuery("comp", "blobs", true);
if (timeout.HasValue)
rawRequestUriBuilder.AppendQuery("timeout", timeout.Value, true);
if (where != null)
rawRequestUriBuilder.AppendQuery("where", where, true);
if (marker != null)
rawRequestUriBuilder.AppendQuery("marker", marker, true);
if (maxresults.HasValue)
rawRequestUriBuilder.AppendQuery("maxresults", maxresults.Value, true);
if (include != null) {
ChangeTrackingList<FilterBlobsIncludeItem> changeTrackingList = include as ChangeTrackingList<FilterBlobsIncludeItem>;
if (changeTrackingList == null || !changeTrackingList.IsUndefined)
RequestUriBuilderExtensions.AppendQueryDelimited(rawRequestUriBuilder, "include", include, ",", true);
}
request.set_Uri(rawRequestUriBuilder);
RequestHeaders headers = request.get_Headers();
headers.Add("x-ms-version", _version);
headers = request.get_Headers();
headers.Add("Accept", "application/xml");
return val;
}
[AsyncStateMachine(typeof(<FilterBlobsAsync>d__29))]
public Task<ResponseWithHeaders<FilterBlobSegment, ServiceFilterBlobsHeaders>> FilterBlobsAsync(int? timeout = default(int?), string where = null, string marker = null, int? maxresults = default(int?), IEnumerable<FilterBlobsIncludeItem> include = null, CancellationToken cancellationToken = default(CancellationToken))
{
<FilterBlobsAsync>d__29 stateMachine = default(<FilterBlobsAsync>d__29);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<ResponseWithHeaders<FilterBlobSegment, ServiceFilterBlobsHeaders>>.Create();
stateMachine.<>4__this = this;
stateMachine.timeout = timeout;
stateMachine.where = where;
stateMachine.marker = marker;
stateMachine.maxresults = maxresults;
stateMachine.include = include;
stateMachine.cancellationToken = cancellationToken;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
public ResponseWithHeaders<FilterBlobSegment, ServiceFilterBlobsHeaders> FilterBlobs(int? timeout = default(int?), string where = null, string marker = null, int? maxresults = default(int?), IEnumerable<FilterBlobsIncludeItem> include = null, CancellationToken cancellationToken = default(CancellationToken))
{
HttpMessage val = CreateFilterBlobsRequest(timeout, where, marker, maxresults, include);
try {
_pipeline.Send(val, cancellationToken);
ServiceFilterBlobsHeaders headers = new ServiceFilterBlobsHeaders(val.get_Response());
if (val.get_Response().get_Status() != 200)
throw new RequestFailedException(val.get_Response());
FilterBlobSegment value = null;
XElement xElement = XDocument.Load(val.get_Response().get_ContentStream(), LoadOptions.PreserveWhitespace).Element("EnumerationResults");
if (xElement != null)
value = FilterBlobSegment.DeserializeFilterBlobSegment(xElement);
return ResponseWithHeaders.FromValue(value, headers, val.get_Response());
} finally {
((IDisposable)val)?.Dispose();
}
}
internal HttpMessage CreateListContainersSegmentNextPageRequest(string nextLink, string prefix, string marker, int? maxresults, IEnumerable<ListContainersIncludeType> include, int? timeout)
{
HttpMessage val = _pipeline.CreateMessage();
Request request = val.get_Request();
request.set_Method(RequestMethod.get_Get());
RawRequestUriBuilder rawRequestUriBuilder = new RawRequestUriBuilder();
rawRequestUriBuilder.AppendRaw(_url, false);
rawRequestUriBuilder.AppendRawNextLink(nextLink, false);
request.set_Uri(rawRequestUriBuilder);
RequestHeaders headers = request.get_Headers();
headers.Add("x-ms-version", _version);
headers = request.get_Headers();
headers.Add("Accept", "application/xml");
return val;
}
[AsyncStateMachine(typeof(<ListContainersSegmentNextPageAsync>d__32))]
public Task<ResponseWithHeaders<ListContainersSegmentResponse, ServiceListContainersSegmentHeaders>> ListContainersSegmentNextPageAsync(string nextLink, string prefix = null, string marker = null, int? maxresults = default(int?), IEnumerable<ListContainersIncludeType> include = null, int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
<ListContainersSegmentNextPageAsync>d__32 stateMachine = default(<ListContainersSegmentNextPageAsync>d__32);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<ResponseWithHeaders<ListContainersSegmentResponse, ServiceListContainersSegmentHeaders>>.Create();
stateMachine.<>4__this = this;
stateMachine.nextLink = nextLink;
stateMachine.prefix = prefix;
stateMachine.marker = marker;
stateMachine.maxresults = maxresults;
stateMachine.include = include;
stateMachine.timeout = timeout;
stateMachine.cancellationToken = cancellationToken;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
public ResponseWithHeaders<ListContainersSegmentResponse, ServiceListContainersSegmentHeaders> ListContainersSegmentNextPage(string nextLink, string prefix = null, string marker = null, int? maxresults = default(int?), IEnumerable<ListContainersIncludeType> include = null, int? timeout = default(int?), CancellationToken cancellationToken = default(CancellationToken))
{
if (nextLink != null) {
HttpMessage val = CreateListContainersSegmentNextPageRequest(nextLink, prefix, marker, maxresults, include, timeout);
try {
_pipeline.Send(val, cancellationToken);
ServiceListContainersSegmentHeaders headers = new ServiceListContainersSegmentHeaders(val.get_Response());
if (val.get_Response().get_Status() != 200)
throw new RequestFailedException(val.get_Response());
ListContainersSegmentResponse value = null;
XElement xElement = XDocument.Load(val.get_Response().get_ContentStream(), LoadOptions.PreserveWhitespace).Element("EnumerationResults");
if (xElement != null)
value = ListContainersSegmentResponse.DeserializeListContainersSegmentResponse(xElement);
return ResponseWithHeaders.FromValue(value, headers, val.get_Response());
} finally {
((IDisposable)val)?.Dispose();
}
}
throw new ArgumentNullException("nextLink");
}
}
}