private async Task <NetworkResponse> GetResponse(string ContentID, string Region, string age) { NetworkResponse RESTResponse = new NetworkResponse(); Uri RequestURL = new Uri($"{BaseUrl}/{RegionCodes[Region]}/{age}/{ContentID}"); HttpClient client = new HttpClient(); HttpResponseMessage Response = null; client.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "PSN.NET Library"); try { Response = await client.GetAsync(RequestURL); Response.EnsureSuccessStatusCode(); string ResponseBody = await Response.Content.ReadAsStringAsync(); RESTResponse.ResponseCode = Response.StatusCode.ToString(); RESTResponse.Body = ResponseBody; client.Dispose(); return(RESTResponse); } catch (HttpRequestException e) { RESTResponse.ResponseCode = Response.StatusCode.ToString(); RESTResponse.Exception = e.Message; return(RESTResponse); } }
private async Task <PSNItem> GetPSNItem(string ContentID, string Region, string age) { PSNItem item = new PSNItem(); NetworkResponse response = await GetResponse(ContentID, Region, age); if (response.ResponseCode == "OK") { string body = response.Body; item = PSNItem.FromJson(body); return(item); } else { return(null); } }