Guest User

Untitled

a guest
Jul 21st, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. public class GitHubService
  2. {
  3. public HttpClient Client { get; }
  4.  
  5. public GitHubService(HttpClient client, HttpClientSettings httpClientSettings)
  6. {
  7. client.BaseAddress = new Uri("https://api.github.com/");
  8. client.DefaultRequestHeaders.Add("Accept", "application/vnd.github.v3+json"); // GitHub API versioning
  9. client.DefaultRequestHeaders.Add("User-Agent", "HttpClientFactory-Sample"); // GitHub requires a user-agent
  10. client.DefaultRequestHeaders.Add("Authorization", $"Bearer {httpClientSettings.BearerToken}");
  11.  
  12. Client = client;
  13. }
  14. }
  15.  
  16. // The typed client is registered as transient with DI.
  17. services.AddHttpClient<GitHubService>();
  18.  
  19. services.AddSingleton<HttpClientSettings>();
  20.  
  21. public class HttpClientSettings
  22. {
  23. public string BearerToken { get; set; }
  24. }
  25.  
  26. var response = await _gitHubService.GetAsync("/repos/aspnet/docs/issues");
Add Comment
Please, Sign In to add comment