Skip to content

Commit ed56c22

Browse files
committed
[csharp] Extend HostConfiguration with additional AddApiHttpClients signatures
1 parent 4f9f14a commit ed56c22

File tree

39 files changed

+1209
-156
lines changed

39 files changed

+1209
-156
lines changed

modules/openapi-generator/src/main/resources/csharp/libraries/generichost/HostConfiguration.mustache

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,18 +83,45 @@ namespace {{packageName}}.{{clientPackage}}
8383
_services.AddSingleton<{{classname}}Events>();{{/apis}}{{/apiInfo}}
8484
}
8585

86+
/// <summary>
87+
/// Configures the HttpClients.
88+
/// </summary>
89+
/// <param name="builder"></param>
90+
/// <returns></returns>
91+
public HostConfiguration Add{{apiName}}HttpClients(Action<IHttpClientBuilder>{{nrt?}} builder = null)
92+
{
93+
return Add{{apiName}}HttpClients((Action<IServiceProvider, HttpClient>?)null, builder);
94+
}
95+
96+
/// <summary>
97+
/// Configures the HttpClients.
98+
/// </summary>
99+
/// <param name="client"></param>
100+
/// <param name="builder"></param>
101+
/// <returns></returns>
102+
public HostConfiguration Add{{apiName}}HttpClients(
103+
Action<HttpClient>{{nrt?}} client,
104+
Action<IHttpClientBuilder>{{nrt?}} builder = null)
105+
{
106+
var wrapped = client != null ? new Action<IServiceProvider, HttpClient>((_, httpClient) =>
107+
{
108+
client(httpClient);
109+
}) : null;
110+
return Add{{apiName}}HttpClients(wrapped, builder);
111+
}
112+
86113
/// <summary>
87114
/// Configures the HttpClients.
88115
/// </summary>
89116
/// <param name="client"></param>
90117
/// <param name="builder"></param>
91118
/// <returns></returns>
92-
public HostConfiguration Add{{apiName}}HttpClients
93-
(
94-
Action<HttpClient>{{nrt?}} client = null, Action<IHttpClientBuilder>{{nrt?}} builder = null)
119+
public HostConfiguration Add{{apiName}}HttpClients(
120+
Action<IServiceProvider, HttpClient>{{nrt?}} client,
121+
Action<IHttpClientBuilder>{{nrt?}} builder = null)
95122
{
96123
if (client == null)
97-
client = c => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
124+
client = (_, c) => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
98125
99126
List<IHttpClientBuilder> builders = new List<IHttpClientBuilder>();
100127

samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/HostConfiguration.cs

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,45 @@ public HostConfiguration(IServiceCollection services)
5454
_services.AddSingleton<IApiFactory, ApiFactory>();
5555
}
5656

57+
/// <summary>
58+
/// Configures the HttpClients.
59+
/// </summary>
60+
/// <param name="builder"></param>
61+
/// <returns></returns>
62+
public HostConfiguration AddApiHttpClients(Action<IHttpClientBuilder>? builder = null)
63+
{
64+
return AddApiHttpClients((Action<IServiceProvider, HttpClient>?)null, builder);
65+
}
66+
67+
/// <summary>
68+
/// Configures the HttpClients.
69+
/// </summary>
70+
/// <param name="client"></param>
71+
/// <param name="builder"></param>
72+
/// <returns></returns>
73+
public HostConfiguration AddApiHttpClients(
74+
Action<HttpClient>? client,
75+
Action<IHttpClientBuilder>? builder = null)
76+
{
77+
var wrapped = client != null ? new Action<IServiceProvider, HttpClient>((_, httpClient) =>
78+
{
79+
client(httpClient);
80+
}) : null;
81+
return AddApiHttpClients(wrapped, builder);
82+
}
83+
5784
/// <summary>
5885
/// Configures the HttpClients.
5986
/// </summary>
6087
/// <param name="client"></param>
6188
/// <param name="builder"></param>
6289
/// <returns></returns>
63-
public HostConfiguration AddApiHttpClients
64-
(
65-
Action<HttpClient>? client = null, Action<IHttpClientBuilder>? builder = null)
90+
public HostConfiguration AddApiHttpClients(
91+
Action<IServiceProvider, HttpClient>? client,
92+
Action<IHttpClientBuilder>? builder = null)
6693
{
6794
if (client == null)
68-
client = c => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
95+
client = (_, c) => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
6996

7097
List<IHttpClientBuilder> builders = new List<IHttpClientBuilder>();
7198

samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/HostConfiguration.cs

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,45 @@ public HostConfiguration(IServiceCollection services)
4949
_services.AddSingleton<IApiFactory, ApiFactory>();
5050
}
5151

52+
/// <summary>
53+
/// Configures the HttpClients.
54+
/// </summary>
55+
/// <param name="builder"></param>
56+
/// <returns></returns>
57+
public HostConfiguration AddApiHttpClients(Action<IHttpClientBuilder>? builder = null)
58+
{
59+
return AddApiHttpClients((Action<IServiceProvider, HttpClient>?)null, builder);
60+
}
61+
62+
/// <summary>
63+
/// Configures the HttpClients.
64+
/// </summary>
65+
/// <param name="client"></param>
66+
/// <param name="builder"></param>
67+
/// <returns></returns>
68+
public HostConfiguration AddApiHttpClients(
69+
Action<HttpClient>? client,
70+
Action<IHttpClientBuilder>? builder = null)
71+
{
72+
var wrapped = client != null ? new Action<IServiceProvider, HttpClient>((_, httpClient) =>
73+
{
74+
client(httpClient);
75+
}) : null;
76+
return AddApiHttpClients(wrapped, builder);
77+
}
78+
5279
/// <summary>
5380
/// Configures the HttpClients.
5481
/// </summary>
5582
/// <param name="client"></param>
5683
/// <param name="builder"></param>
5784
/// <returns></returns>
58-
public HostConfiguration AddApiHttpClients
59-
(
60-
Action<HttpClient>? client = null, Action<IHttpClientBuilder>? builder = null)
85+
public HostConfiguration AddApiHttpClients(
86+
Action<IServiceProvider, HttpClient>? client,
87+
Action<IHttpClientBuilder>? builder = null)
6188
{
6289
if (client == null)
63-
client = c => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
90+
client = (_, c) => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
6491

6592
List<IHttpClientBuilder> builders = new List<IHttpClientBuilder>();
6693

samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/HostConfiguration.cs

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,45 @@ public HostConfiguration(IServiceCollection services)
5454
_services.AddSingleton<DefaultApiEvents>();
5555
}
5656

57+
/// <summary>
58+
/// Configures the HttpClients.
59+
/// </summary>
60+
/// <param name="builder"></param>
61+
/// <returns></returns>
62+
public HostConfiguration AddApiHttpClients(Action<IHttpClientBuilder>? builder = null)
63+
{
64+
return AddApiHttpClients((Action<IServiceProvider, HttpClient>?)null, builder);
65+
}
66+
67+
/// <summary>
68+
/// Configures the HttpClients.
69+
/// </summary>
70+
/// <param name="client"></param>
71+
/// <param name="builder"></param>
72+
/// <returns></returns>
73+
public HostConfiguration AddApiHttpClients(
74+
Action<HttpClient>? client,
75+
Action<IHttpClientBuilder>? builder = null)
76+
{
77+
var wrapped = client != null ? new Action<IServiceProvider, HttpClient>((_, httpClient) =>
78+
{
79+
client(httpClient);
80+
}) : null;
81+
return AddApiHttpClients(wrapped, builder);
82+
}
83+
5784
/// <summary>
5885
/// Configures the HttpClients.
5986
/// </summary>
6087
/// <param name="client"></param>
6188
/// <param name="builder"></param>
6289
/// <returns></returns>
63-
public HostConfiguration AddApiHttpClients
64-
(
65-
Action<HttpClient>? client = null, Action<IHttpClientBuilder>? builder = null)
90+
public HostConfiguration AddApiHttpClients(
91+
Action<IServiceProvider, HttpClient>? client,
92+
Action<IHttpClientBuilder>? builder = null)
6693
{
6794
if (client == null)
68-
client = c => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
95+
client = (_, c) => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
6996

7097
List<IHttpClientBuilder> builders = new List<IHttpClientBuilder>();
7198

samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/HostConfiguration.cs

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,45 @@ public HostConfiguration(IServiceCollection services)
5151
_services.AddSingleton<DefaultApiEvents>();
5252
}
5353

54+
/// <summary>
55+
/// Configures the HttpClients.
56+
/// </summary>
57+
/// <param name="builder"></param>
58+
/// <returns></returns>
59+
public HostConfiguration AddApiHttpClients(Action<IHttpClientBuilder>? builder = null)
60+
{
61+
return AddApiHttpClients((Action<IServiceProvider, HttpClient>?)null, builder);
62+
}
63+
64+
/// <summary>
65+
/// Configures the HttpClients.
66+
/// </summary>
67+
/// <param name="client"></param>
68+
/// <param name="builder"></param>
69+
/// <returns></returns>
70+
public HostConfiguration AddApiHttpClients(
71+
Action<HttpClient>? client,
72+
Action<IHttpClientBuilder>? builder = null)
73+
{
74+
var wrapped = client != null ? new Action<IServiceProvider, HttpClient>((_, httpClient) =>
75+
{
76+
client(httpClient);
77+
}) : null;
78+
return AddApiHttpClients(wrapped, builder);
79+
}
80+
5481
/// <summary>
5582
/// Configures the HttpClients.
5683
/// </summary>
5784
/// <param name="client"></param>
5885
/// <param name="builder"></param>
5986
/// <returns></returns>
60-
public HostConfiguration AddApiHttpClients
61-
(
62-
Action<HttpClient>? client = null, Action<IHttpClientBuilder>? builder = null)
87+
public HostConfiguration AddApiHttpClients(
88+
Action<IServiceProvider, HttpClient>? client,
89+
Action<IHttpClientBuilder>? builder = null)
6390
{
6491
if (client == null)
65-
client = c => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
92+
client = (_, c) => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
6693

6794
List<IHttpClientBuilder> builders = new List<IHttpClientBuilder>();
6895

samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/HostConfiguration.cs

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,45 @@ public HostConfiguration(IServiceCollection services)
5151
_services.AddSingleton<ApiKeysApiEvents>();
5252
}
5353

54+
/// <summary>
55+
/// Configures the HttpClients.
56+
/// </summary>
57+
/// <param name="builder"></param>
58+
/// <returns></returns>
59+
public HostConfiguration AddApiHttpClients(Action<IHttpClientBuilder>? builder = null)
60+
{
61+
return AddApiHttpClients((Action<IServiceProvider, HttpClient>?)null, builder);
62+
}
63+
64+
/// <summary>
65+
/// Configures the HttpClients.
66+
/// </summary>
67+
/// <param name="client"></param>
68+
/// <param name="builder"></param>
69+
/// <returns></returns>
70+
public HostConfiguration AddApiHttpClients(
71+
Action<HttpClient>? client,
72+
Action<IHttpClientBuilder>? builder = null)
73+
{
74+
var wrapped = client != null ? new Action<IServiceProvider, HttpClient>((_, httpClient) =>
75+
{
76+
client(httpClient);
77+
}) : null;
78+
return AddApiHttpClients(wrapped, builder);
79+
}
80+
5481
/// <summary>
5582
/// Configures the HttpClients.
5683
/// </summary>
5784
/// <param name="client"></param>
5885
/// <param name="builder"></param>
5986
/// <returns></returns>
60-
public HostConfiguration AddApiHttpClients
61-
(
62-
Action<HttpClient>? client = null, Action<IHttpClientBuilder>? builder = null)
87+
public HostConfiguration AddApiHttpClients(
88+
Action<IServiceProvider, HttpClient>? client,
89+
Action<IHttpClientBuilder>? builder = null)
6390
{
6491
if (client == null)
65-
client = c => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
92+
client = (_, c) => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
6693

6794
List<IHttpClientBuilder> builders = new List<IHttpClientBuilder>();
6895

samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/HostConfiguration.cs

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,45 @@ public HostConfiguration(IServiceCollection services)
4848
_services.AddSingleton<DefaultApiEvents>();
4949
}
5050

51+
/// <summary>
52+
/// Configures the HttpClients.
53+
/// </summary>
54+
/// <param name="builder"></param>
55+
/// <returns></returns>
56+
public HostConfiguration AddApiHttpClients(Action<IHttpClientBuilder> builder = null)
57+
{
58+
return AddApiHttpClients((Action<IServiceProvider, HttpClient>?)null, builder);
59+
}
60+
61+
/// <summary>
62+
/// Configures the HttpClients.
63+
/// </summary>
64+
/// <param name="client"></param>
65+
/// <param name="builder"></param>
66+
/// <returns></returns>
67+
public HostConfiguration AddApiHttpClients(
68+
Action<HttpClient> client,
69+
Action<IHttpClientBuilder> builder = null)
70+
{
71+
var wrapped = client != null ? new Action<IServiceProvider, HttpClient>((_, httpClient) =>
72+
{
73+
client(httpClient);
74+
}) : null;
75+
return AddApiHttpClients(wrapped, builder);
76+
}
77+
5178
/// <summary>
5279
/// Configures the HttpClients.
5380
/// </summary>
5481
/// <param name="client"></param>
5582
/// <param name="builder"></param>
5683
/// <returns></returns>
57-
public HostConfiguration AddApiHttpClients
58-
(
59-
Action<HttpClient> client = null, Action<IHttpClientBuilder> builder = null)
84+
public HostConfiguration AddApiHttpClients(
85+
Action<IServiceProvider, HttpClient> client,
86+
Action<IHttpClientBuilder> builder = null)
6087
{
6188
if (client == null)
62-
client = c => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
89+
client = (_, c) => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
6390

6491
List<IHttpClientBuilder> builders = new List<IHttpClientBuilder>();
6592

samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/HostConfiguration.cs

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,45 @@ public HostConfiguration(IServiceCollection services)
4848
_services.AddSingleton<DefaultApiEvents>();
4949
}
5050

51+
/// <summary>
52+
/// Configures the HttpClients.
53+
/// </summary>
54+
/// <param name="builder"></param>
55+
/// <returns></returns>
56+
public HostConfiguration AddApiHttpClients(Action<IHttpClientBuilder> builder = null)
57+
{
58+
return AddApiHttpClients((Action<IServiceProvider, HttpClient>?)null, builder);
59+
}
60+
61+
/// <summary>
62+
/// Configures the HttpClients.
63+
/// </summary>
64+
/// <param name="client"></param>
65+
/// <param name="builder"></param>
66+
/// <returns></returns>
67+
public HostConfiguration AddApiHttpClients(
68+
Action<HttpClient> client,
69+
Action<IHttpClientBuilder> builder = null)
70+
{
71+
var wrapped = client != null ? new Action<IServiceProvider, HttpClient>((_, httpClient) =>
72+
{
73+
client(httpClient);
74+
}) : null;
75+
return AddApiHttpClients(wrapped, builder);
76+
}
77+
5178
/// <summary>
5279
/// Configures the HttpClients.
5380
/// </summary>
5481
/// <param name="client"></param>
5582
/// <param name="builder"></param>
5683
/// <returns></returns>
57-
public HostConfiguration AddApiHttpClients
58-
(
59-
Action<HttpClient> client = null, Action<IHttpClientBuilder> builder = null)
84+
public HostConfiguration AddApiHttpClients(
85+
Action<IServiceProvider, HttpClient> client,
86+
Action<IHttpClientBuilder> builder = null)
6087
{
6188
if (client == null)
62-
client = c => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
89+
client = (_, c) => c.BaseAddress = new Uri(ClientUtils.BASE_ADDRESS);
6390

6491
List<IHttpClientBuilder> builders = new List<IHttpClientBuilder>();
6592

0 commit comments

Comments
 (0)