/// <summary> /// GetAsync method of http client /// </summary> /// <param name="accessToken">user's promact access token</param> /// <param name="contentUrl">content url of request</param> /// <returns></returns> public async Task <RequestAndReponse> GetAsync(string accessToken, string contentUrl) { RequestAndReponse requestResponse = new RequestAndReponse(); //string responseContent = null; try { _httpClient = new HttpClient(); _httpClient.BaseAddress = new Uri(_stringConstant.PromactOAuthBaseUrl); // Added access token to request header if provided by user if (!String.IsNullOrEmpty(accessToken)) { _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); } var response = await _httpClient.GetAsync(contentUrl); requestResponse.Status = response.StatusCode; if (response.StatusCode == System.Net.HttpStatusCode.OK) { requestResponse.ResponseContent = response.Content.ReadAsStringAsync().Result; } _httpClient.Dispose(); } catch (HttpRequestException ex) { requestResponse.Status = System.Net.HttpStatusCode.GatewayTimeout; requestResponse.ResponseContent = ex.Message; } return(requestResponse); }
/// <summary> /// Private method to mock http client service and result expected result /// </summary> /// <param name="contentUrl">content url of request</param> /// <param name="expectedResult">expected result from request</param> /// <param name="expectedStatus">expected status of request</param> private void MockingHttpClientService(string contentUrl, string expectedResult, HttpStatusCode expectedStatus) { RequestAndReponse requestAndResponse = new RequestAndReponse(); requestAndResponse.ResponseContent = expectedResult; requestAndResponse.Status = expectedStatus; var result = Task.FromResult(requestAndResponse); _mockHttpClientService.Setup(x => x.GetAsync(_stringConstant.AccessTokenForTest, contentUrl)).Returns(result); }