in WindowsDevicePortalWrapper/WindowsDevicePortalWrapper/HttpRest/RestPost.cs [50:96]
public async Task<Stream> PostAsync(
Uri uri,
HttpContent requestContent)
{
MemoryStream responseDataStream = null;
WebRequestHandler requestSettings = new WebRequestHandler();
requestSettings.UseDefaultCredentials = false;
requestSettings.Credentials = this.deviceConnection.Credentials;
requestSettings.ServerCertificateValidationCallback = this.ServerCertificateValidation;
using (HttpClient client = new HttpClient(requestSettings))
{
client.Timeout = TimeSpan.FromMilliseconds(-1);
this.ApplyHttpHeaders(client, HttpMethods.Post);
using (HttpResponseMessage response = await client.PostAsync(uri, requestContent).ConfigureAwait(false))
{
if (!response.IsSuccessStatusCode)
{
throw await DevicePortalException.CreateAsync(response);
}
this.RetrieveCsrfToken(response);
if (response.Content != null)
{
using (HttpContent responseContent = response.Content)
{
responseDataStream = new MemoryStream();
await responseContent.CopyToAsync(responseDataStream).ConfigureAwait(false);
// Ensure we return with the stream pointed at the origin.
responseDataStream.Position = 0;
if (responseDataStream.Length == 0)
{
responseDataStream = null;
}
}
}
}
}
return responseDataStream;
}