public async Task <Tuple <HttpStatusCode, CoinDeskResponse> > Get(string endpoint) { using (var request = new HttpRequestMessage(HttpMethod.Get, endpoint)) { request.Headers.Add("Accept", "application/json"); using (var client = new HttpClient { BaseAddress = new Uri(_baseUrl) }) { using (var response = await client.SendAsync(request)) { var content = await response.Content.ReadAsStringAsync(); var status = response.StatusCode; CoinDeskResponse result = null; if (status == HttpStatusCode.OK) { result = !string.IsNullOrEmpty(content) ? JsonConvert.DeserializeObject <CoinDeskResponse>(content) : null; } return(new Tuple <HttpStatusCode, CoinDeskResponse>(status, result)); } } } }
internal static PriceIndexResponse Map(CoinDeskResponse data) { return(new PriceIndexResponse { LastUpdatedIso = data.time.updatedISO, PriceIndexes = new List <PriceIndex> { Map(data.bpi.EUR), Map(data.bpi.GBP), Map(data.bpi.USD), } }); }
public (HttpStatusCode, CoinDeskResponse) Result(HttpStatusCode httpStatusCode, CoinDeskResponse coinDeskResponse) { return(httpStatusCode, coinDeskResponse); }