public TResult Get <TResult>(string resource, QueryStringParameter queryParameters = null) { var statusCode = default(HttpStatusCode); using (var client = new HttpClient()) { client.BaseAddress = new Uri(this.baseAddress); if (this.customHeaders.IsAny()) { AddHeaderInClientRequest(this.customHeaders.ToArray(), client); } resource = MakeResource(resource, queryParameters); var response = client.GetAsync(resource).Result; statusCode = response.StatusCode; if (statusCode == HttpStatusCode.OK) { var data = response.Content.ReadAsStringAsync().Result; var result = JsonConvert.DeserializeObject <TResult>(data); return(result); } } throw new InvalidOperationException(statusCode.ToString()); }
private string MakeResource(string resource, QueryStringParameter queryParameters) { if (queryParameters != null && queryParameters.Get() != null) { var queryStringUrl = queryParameters.Get().ToQueryString(); resource = String.Concat(resource, queryStringUrl); } return(resource); }
public TResult Get <TResult>(string resource, IDictionary <string, object> queryStringParameters = null) { var nameValueCollection = new NameValueCollection(); if (queryStringParameters.IsNotNull()) { foreach (var item in queryStringParameters) { nameValueCollection.Add(item.Key, item.Value.ToString()); } } var parameters = new QueryStringParameter().Add(nameValueCollection); return(this.Get <TResult>(resource, parameters)); }
public TResult Get <TResult>(string resource, NameValueCollection queryStringParameters = null) { var parameters = new QueryStringParameter().Add(queryStringParameters); return(this.Get <TResult>(resource, parameters)); }