private GetResponse <T> SuccessfulGetResponse <T>(T source) where T : class { var getResponse = new GetResponse <T>(); var sourceInfo = getResponse.GetType().GetProperty(nameof(getResponse.Source)); sourceInfo.SetValue(getResponse, source); var apiCallDetails = new ApiCallDetails { HttpStatusCode = 200, Success = true }; var _originalApiInfo = typeof(ResponseBase).GetField("_originalApiCall", BindingFlags.NonPublic | BindingFlags.Instance); _originalApiInfo.SetValue(getResponse, apiCallDetails); return(getResponse); }
private async Task <ApiCallDetails> InvokeConferencesService() { string speakerApiUri = this.configuration["Conferences:ConferencesApiUri"]; var httpClient = this.clientFactory.CreateClient(); var response = await httpClient.GetAsync(speakerApiUri); var body = await response.Content.ReadAsStringAsync(); var callDetails = new ApiCallDetails { Body = body, StatusCode = (int)response.StatusCode, Reason = response.ReasonPhrase }; return(callDetails); }
private async Task <ApiCallDetails> InvokeConferencesService() { string speakerApiUri = this.configuration["Conferences:ConferencesApiUri"]; var accessToken = await GenerateAccessToken(); var httpClient = this.clientFactory.CreateClient(); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); var response = await httpClient.GetAsync(speakerApiUri); var body = await response.Content.ReadAsStringAsync(); var callDetails = new ApiCallDetails { AccessToken = accessToken, Body = body, StatusCode = (int)response.StatusCode, Reason = response.ReasonPhrase }; return(callDetails); }