@@ -9,37 +9,60 @@ public static void Main(string[] args)
99 {
1010 var host = BuildHost ( ) ;
1111
12- var httpClientFactory = host . Services . GetService < IHttpClientFactory > ( ) ;
12+ var httpClientFactory = host . Services . GetRequiredService < IHttpClientFactory > ( ) ;
1313
1414 GetDefaultAgentOnHttpClient ( httpClientFactory ) ;
1515
16+ SetUserAgentOnHttpRequestMessage ( "CodeMazeDesktopApp/1.1" ) ;
17+
1618 SetUserAgentOnHttpRequestMessage ( "CodeMazeDesktopApp" , "1.1" ) ;
1719 }
1820
1921 public static IHost BuildHost ( )
2022 {
21- var builder = new HostBuilder ( )
22- . ConfigureServices ( services =>
23- {
24- services . AddHttpClient ( "CodeMazeHttpClient" , client =>
25- {
26- var productHeaderValue = new ProductHeaderValue ( name : "CodeMazeDesktopApp" , version : "1.1" ) ;
27- var productInfoHeaderValue = new ProductInfoHeaderValue ( productHeaderValue ) ;
23+ var builder = Host . CreateApplicationBuilder ( ) ;
24+
25+ builder . Services . AddHttpClient ( "CodeMazeHttpClient" , client =>
26+ {
27+ var productHeaderValue = new ProductHeaderValue ( name : "CodeMazeDesktopApp" , version : "1.1" ) ;
28+ var productInfoHeaderValue = new ProductInfoHeaderValue ( productHeaderValue ) ;
29+
30+ client . DefaultRequestHeaders . UserAgent . Add ( productInfoHeaderValue ) ;
31+ } ) ;
32+
33+ return builder . Build ( ) ;
34+ }
35+
36+ public static IHost BuildHostWithUserAgentForAllClients ( )
37+ {
38+ var builder = Host . CreateApplicationBuilder ( ) ;
2839
29- client . DefaultRequestHeaders . UserAgent . Add ( productInfoHeaderValue ) ;
30- } ) ;
40+ builder . Services . ConfigureHttpClientDefaults ( httpClientBuilder =>
41+ {
42+ httpClientBuilder . ConfigureHttpClient ( client =>
43+ {
44+ client . DefaultRequestHeaders . UserAgent . Add ( new ProductInfoHeaderValue ( "CodeMazeDesktopApp" , "1.1" ) ) ;
3145 } ) ;
46+ } ) ;
3247
3348 return builder . Build ( ) ;
3449 }
3550
3651 public static string GetDefaultAgentOnHttpClient ( IHttpClientFactory httpClientFactory )
37- {
52+ {
3853 var httpClient = httpClientFactory . CreateClient ( "CodeMazeHttpClient" ) ;
3954
4055 return httpClient . DefaultRequestHeaders . UserAgent . ToString ( ) ;
4156 }
4257
58+ public static string SetUserAgentOnHttpRequestMessage ( string userAgentValue )
59+ {
60+ var httpRequestMessage = new HttpRequestMessage ( ) ;
61+ httpRequestMessage . Headers . Add ( "User-Agent" , userAgentValue ) ;
62+
63+ return httpRequestMessage . Headers . UserAgent . ToString ( ) ;
64+ }
65+
4366 public static string SetUserAgentOnHttpRequestMessage ( string productName , string productVersion )
4467 {
4568 var httpRequestMessage = new HttpRequestMessage ( HttpMethod . Get , "/users/1234" ) ;
@@ -51,4 +74,4 @@ public static string SetUserAgentOnHttpRequestMessage(string productName, string
5174
5275 return httpRequestMessage . Headers . UserAgent . ToString ( ) ;
5376 }
54- }
77+ }
0 commit comments