Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GitHubService
- {
- public HttpClient Client { get; }
- public GitHubService(HttpClient client, HttpClientSettings httpClientSettings)
- {
- client.BaseAddress = new Uri("https://api.github.com/");
- client.DefaultRequestHeaders.Add("Accept", "application/vnd.github.v3+json"); // GitHub API versioning
- client.DefaultRequestHeaders.Add("User-Agent", "HttpClientFactory-Sample"); // GitHub requires a user-agent
- client.DefaultRequestHeaders.Add("Authorization", $"Bearer {httpClientSettings.BearerToken}");
- Client = client;
- }
- }
- // The typed client is registered as transient with DI.
- services.AddHttpClient<GitHubService>();
- services.AddSingleton<HttpClientSettings>();
- public class HttpClientSettings
- {
- public string BearerToken { get; set; }
- }
- var response = await _gitHubService.GetAsync("/repos/aspnet/docs/issues");
Add Comment
Please, Sign In to add comment