@@ -14,9 +14,7 @@ public static IServiceCollection AddGrokClient(this IServiceCollection services,
1414 {
1515 var address = new Uri ( "https://api.x.ai/" ) ;
1616
17- Action < HttpClient > http = client => client . DefaultRequestHeaders . TryAddWithoutValidation ( "Authorization" , $ "Bearer { apiKey } ") ;
18-
19- services . AddGrpcClient < Auth . AuthClient > ( options =>
17+ var builder = services . AddGrpcClient < Auth . AuthClient > ( options =>
2018 {
2119 options . Address = address ;
2220 configureClient ? . Invoke ( options ) ;
@@ -27,7 +25,9 @@ public static IServiceCollection AddGrokClient(this IServiceCollection services,
2725 return Task . CompletedTask ;
2826 } ) ;
2927
30- services . AddGrpcClient < Chat . ChatClient > ( options =>
28+ configureHttp ? . Invoke ( builder ) ;
29+
30+ builder = services . AddGrpcClient < Chat . ChatClient > ( options =>
3131 {
3232 options . Address = address ;
3333 configureClient ? . Invoke ( options ) ;
@@ -38,7 +38,9 @@ public static IServiceCollection AddGrokClient(this IServiceCollection services,
3838 return Task . CompletedTask ;
3939 } ) ;
4040
41- services . AddGrpcClient < Embedder . EmbedderClient > ( options =>
41+ configureHttp ? . Invoke ( builder ) ;
42+
43+ builder = services . AddGrpcClient < Embedder . EmbedderClient > ( options =>
4244 {
4345 options . Address = address ;
4446 configureClient ? . Invoke ( options ) ;
@@ -49,7 +51,9 @@ public static IServiceCollection AddGrokClient(this IServiceCollection services,
4951 return Task . CompletedTask ;
5052 } ) ;
5153
52- services . AddGrpcClient < Image . ImageClient > ( options =>
54+ configureHttp ? . Invoke ( builder ) ;
55+
56+ builder = services . AddGrpcClient < Image . ImageClient > ( options =>
5357 {
5458 options . Address = address ;
5559 configureClient ? . Invoke ( options ) ;
@@ -60,21 +64,22 @@ public static IServiceCollection AddGrokClient(this IServiceCollection services,
6064 return Task . CompletedTask ;
6165 } ) ;
6266
63- var builder = services . AddGrpcClient < Models . ModelsClient > ( options =>
67+ configureHttp ? . Invoke ( builder ) ;
68+
69+ builder = services . AddGrpcClient < Models . ModelsClient > ( options =>
6470 {
6571 options . Address = address ;
6672 configureClient ? . Invoke ( options ) ;
67- } ) . ConfigureHttpClient ( http ) ;
73+ } )
74+ . AddCallCredentials ( ( context , metadata ) =>
75+ {
76+ metadata . Add ( "Authorization" , $ "Bearer { apiKey } ") ;
77+ return Task . CompletedTask ;
78+ } ) ;
6879
6980 configureHttp ? . Invoke ( builder ) ;
7081
71- //.AddCallCredentials((context, metadata) =>
72- //{
73- // metadata.Add("Authorization", $"Bearer {apiKey}");
74- // return Task.CompletedTask;
75- //});
76-
77- services . AddGrpcClient < Sample . SampleClient > ( options =>
82+ builder = services . AddGrpcClient < Sample . SampleClient > ( options =>
7883 {
7984 options . Address = address ;
8085 configureClient ? . Invoke ( options ) ;
@@ -85,7 +90,9 @@ public static IServiceCollection AddGrokClient(this IServiceCollection services,
8590 return Task . CompletedTask ;
8691 } ) ;
8792
88- services . AddGrpcClient < Tokenize . TokenizeClient > ( options =>
93+ configureHttp ? . Invoke ( builder ) ;
94+
95+ builder = services . AddGrpcClient < Tokenize . TokenizeClient > ( options =>
8996 {
9097 options . Address = address ;
9198 configureClient ? . Invoke ( options ) ;
@@ -96,7 +103,9 @@ public static IServiceCollection AddGrokClient(this IServiceCollection services,
96103 return Task . CompletedTask ;
97104 } ) ;
98105
99- services . AddGrpcClient < Documents . DocumentsClient > ( options =>
106+ configureHttp ? . Invoke ( builder ) ;
107+
108+ builder = services . AddGrpcClient < Documents . DocumentsClient > ( options =>
100109 {
101110 options . Address = address ;
102111 configureClient ? . Invoke ( options ) ;
@@ -107,6 +116,8 @@ public static IServiceCollection AddGrokClient(this IServiceCollection services,
107116 return Task . CompletedTask ;
108117 } ) ;
109118
119+ configureHttp ? . Invoke ( builder ) ;
120+
110121 return services ;
111122 }
112123}
0 commit comments