Example #1
0
        public void SaveAsJson(string newPath)
        {
            IIoStrategy newIohandler = new JsonStrategy(newPath);
            XmlDocument doc          = ToXML();

            newIohandler.SaveFile(doc);
        }
Example #2
0
        private async Task <PagedResult <Planet> > GetPlanetsPage(HttpClient httpClient, string nextPageEndpoint)
        {
            var request = new HttpRequestMessage(HttpMethod.Get, nextPageEndpoint);

            var response = await httpClient.SendAsync(request);

            if (response.IsSuccessStatusCode)
            {
                using (var responseStream = await response.Content.ReadAsStreamAsync())
                {
                    return(JsonStrategy.ReadJsonFromStream <PagedResult <Planet> >(responseStream));
                }
            }
            else
            {
                throw new RESTException(response.ReasonPhrase, response.StatusCode, null);
            }
        }
        public async Task <Starship> GetStarshipByEndpoint(string endpoint)
        {
            var client = _httpClientFactory.CreateClient("swApiClient");
            // the length of the base Uri is 16
            var request = new HttpRequestMessage(HttpMethod.Get, endpoint.Substring(17));

            var response = await client.SendAsync(request);

            if (response.IsSuccessStatusCode)
            {
                using (var responseStream = await response.Content.ReadAsStreamAsync())
                {
                    return(JsonStrategy.ReadJsonFromStream <Starship>(responseStream));
                }
            }
            else
            {
                throw new RESTException(response.ReasonPhrase, response.StatusCode, null);
            }
        }
Example #4
0
        public async Task <Planet> GetPlanet(int planetId)
        {
            var client = _httpClientFactory.CreateClient("swApiClient");

            var request = new HttpRequestMessage(HttpMethod.Get, $"/api/planets/{planetId}");

            var response = await client.SendAsync(request);

            if (response.IsSuccessStatusCode)
            {
                using (var responseStream = await response.Content.ReadAsStreamAsync())
                {
                    return(JsonStrategy.ReadJsonFromStream <Planet>(responseStream));
                }
            }
            else
            {
                throw new RESTException(response.ReasonPhrase, response.StatusCode, null);
            }
        }