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(); } } }