using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using CryptoExchange.Net.Interfaces;
namespace CryptoExchange.Net.Requests
{
///
/// Response object, wrapper for HttpResponseMessage
///
internal class Response : IResponse
{
private readonly HttpResponseMessage _response;
///
public HttpStatusCode StatusCode => _response.StatusCode;
///
public bool IsSuccessStatusCode => _response.IsSuccessStatusCode;
///
public long? ContentLength => _response.Content.Headers.ContentLength;
///
public IEnumerable>> ResponseHeaders => _response.Headers;
///
/// Create response for a http response message
///
/// The actual response
public Response(HttpResponseMessage response)
{
this._response = response;
}
///
public async Task GetResponseStreamAsync()
{
return await _response.Content.ReadAsStreamAsync().ConfigureAwait(false);
}
///
public void Close()
{
_response.Dispose();
}
}
}