diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java
index f926fea2550a..c7efbcc63cd4 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java
@@ -1152,6 +1152,10 @@ public void addGenericHostSupportingFiles(final String clientPackageDir, final S
String extensionsFolder = sourceFolder + File.separator + packageName + File.separator + "Extensions";
supportingFiles.add(new SupportingFile("IHttpClientBuilderExtensions.mustache", extensionsFolder, "IHttpClientBuilderExtensions.cs"));
supportingFiles.add(new SupportingFile("IHostBuilderExtensions.mustache", extensionsFolder, "IHostBuilderExtensions.cs"));
+ // IHostApplicationBuilder is only available on .NET 8 or later
+ if (additionalProperties.containsKey(NET_80_OR_LATER)) {
+ supportingFiles.add(new SupportingFile("IHostApplicationBuilderExtensions.mustache", extensionsFolder, "IHostApplicationBuilderExtensions.cs"));
+ }
supportingFiles.add(new SupportingFile("IServiceCollectionExtensions.mustache", extensionsFolder, "IServiceCollectionExtensions.cs"));
String apiTestFolder = testFolder + File.separator + testPackageName() + File.separator + apiPackage();
diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/IHostApplicationBuilderExtensions.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/IHostApplicationBuilderExtensions.mustache
new file mode 100644
index 000000000000..7ba4f1f07456
--- /dev/null
+++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/IHostApplicationBuilderExtensions.mustache
@@ -0,0 +1,49 @@
+{{>partial_header}}
+{{#nrt}}
+#nullable enable
+
+{{/nrt}}
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using {{packageName}}.{{clientPackage}};
+
+namespace {{packageName}}.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ {{>visibility}} static class IHostApplicationBuilderExtensions
+ {
+ {{^hasAuthMethods}}
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder Configure{{apiName}}(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.Add{{apiName}}(builder.Services, config);
+
+ return builder;
+ }
+
+ {{/hasAuthMethods}}
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder Configure{{apiName}}(this IHostApplicationBuilder builder, Action{{nrt?}} options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.Add{{apiName}}(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/README.client.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/README.client.mustache
index 3973a5be951d..e057ef28b758 100644
--- a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/README.client.mustache
+++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/README.client.mustache
@@ -45,7 +45,7 @@ using Microsoft.Extensions.DependencyInjection;
using {{packageName}}.Api;
using {{packageName}}.Client;
using {{packageName}}.Model;
-using Org.OpenAPITools.Extensions;
+using {{packageName}}.Extensions;
namespace YourProject
{
@@ -53,7 +53,46 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
+ {{#net80OrLater}}
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.Configure{{apiName}}(options =>
+ {
+ {{#authMethods}}
+ {{#-first}}
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ {{/-first}}
+ {{/authMethods}}
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.Add{{apiName}}HttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
+ {{/net80OrLater}}
+ {{^net80OrLater}}
var host = CreateHostBuilder(args).Build();
+ {{/net80OrLater}}
{{#apiInfo}}
{{#apis}}
{{#-first}}
@@ -72,6 +111,7 @@ namespace YourProject
{{/apis}}
{{/apiInfo}}
}
+ {{^net80OrLater}}
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
.Configure{{apiName}}((context, options) =>
@@ -106,6 +146,7 @@ namespace YourProject
}
);
});
+ {{/net80OrLater}}
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/.openapi-generator/FILES
index add1b2cdf6dc..6e52e20c7164 100644
--- a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/.openapi-generator/FILES
@@ -44,6 +44,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..e28ea0be8aec
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * Example
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/README.md
index 3714e06afbaa..2c52e8a21a26 100644
--- a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IListApiResponse apiResponse = await api.ListAsync("todo");
string? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/.openapi-generator/FILES
index e496483f4842..02ff0bc58f44 100644
--- a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/.openapi-generator/FILES
@@ -31,6 +31,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..b468b240b236
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * OpenAPI
+ *
+ * OpenAPI
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/README.md
index 9d69b6d18a55..291a9c13cf76 100644
--- a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/README.md
@@ -53,30 +53,30 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/latest/HelloWorld/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/latest/HelloWorld/.openapi-generator/FILES
index 7ef3eb1629a8..04c53eb9aa76 100644
--- a/samples/client/petstore/csharp/generichost/latest/HelloWorld/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/latest/HelloWorld/.openapi-generator/FILES
@@ -31,6 +31,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..d4b56e366eb6
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * Minimal reproduction for csharp webhook bug
+ *
+ * This is an example API to reproduce a bug with webhooks in csharp codegen
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/README.md
index ce14d1391776..e4c4b3d6056a 100644
--- a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/README.md
@@ -53,30 +53,30 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/.openapi-generator/FILES
index 385311897f95..fa57b5f156e4 100644
--- a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/.openapi-generator/FILES
@@ -34,6 +34,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..7cda45793fe4
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/README.md
index ae0c36a3614b..aaa425a3a05e 100644
--- a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IIconsApiResponse apiResponse = await api.IconsAsync("todo");
IconsDefaultResponse? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/latest/NullTypes/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/latest/NullTypes/.openapi-generator/FILES
index eaa9a1f15622..4632d596f8fb 100644
--- a/samples/client/petstore/csharp/generichost/latest/NullTypes/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/latest/NullTypes/.openapi-generator/FILES
@@ -36,6 +36,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/latest/NullTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/latest/NullTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..eb82ab72fe63
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/latest/NullTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * OAS 3.1 Null Type Test
+ *
+ * Tests OAS 3.1 null type handling for C# codegen. In OAS 3.1, `nullable: true` was deprecated in favour of adding `null` to the list of allowed types. The C# generator must convert any occurrence of the bare `null` type to a nullable `Object`, and must strip `null` out of oneOf / anyOf composed schemas while marking the parent model as nullable.
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/latest/NullTypes/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/latest/NullTypes/src/Org.OpenAPITools/README.md
index c198dfe5aefe..8495775f21b0 100644
--- a/samples/client/petstore/csharp/generichost/latest/NullTypes/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/latest/NullTypes/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IGetWidgetApiResponse apiResponse = await api.GetWidgetAsync("todo");
Widget? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/latest/OneOfList/.openapi-generator/FILES
index 62b5d1840b64..eec6b5ddba04 100644
--- a/samples/client/petstore/csharp/generichost/latest/OneOfList/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/.openapi-generator/FILES
@@ -32,6 +32,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..93ce080aafab
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * Oneof array test
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/README.md
index 8345d580ce2c..ee16c44a3303 100644
--- a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IOneOfArrayApiResponse apiResponse = await api.OneOfArrayAsync("todo");
object? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/latest/Tags/.openapi-generator/FILES
index dcf591f477dc..07b15f75bd74 100644
--- a/samples/client/petstore/csharp/generichost/latest/Tags/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/latest/Tags/.openapi-generator/FILES
@@ -35,6 +35,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..d0bd609f16f8
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,41 @@
+/*
+ * Files.com API
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Contact: support@files.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/README.md
index 5a3289cb7018..7ff40d5e1dc6 100644
--- a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IGetApiKeysIdApiResponse apiResponse = await api.GetApiKeysIdAsync("todo");
object? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/.openapi-generator/FILES
index 0698a2042def..d85537f7fad8 100644
--- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/.openapi-generator/FILES
@@ -152,6 +152,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..14f35a6e2c06
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,40 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/README.md
index 121dfdc3ee2e..1f3d613cb6cf 100644
--- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net10/AllOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net10/AllOf/.openapi-generator/FILES
index e32fc0acf018..a57606eb2ef2 100644
--- a/samples/client/petstore/csharp/generichost/net10/AllOf/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net10/AllOf/.openapi-generator/FILES
@@ -33,6 +33,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net10/AllOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net10/AllOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..e28ea0be8aec
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net10/AllOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * Example
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net10/AllOf/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net10/AllOf/src/Org.OpenAPITools/README.md
index 227d28c7f58d..3dfdb773bf71 100644
--- a/samples/client/petstore/csharp/generichost/net10/AllOf/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net10/AllOf/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IListApiResponse apiResponse = await api.ListAsync("todo");
Person? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net10/AnyOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net10/AnyOf/.openapi-generator/FILES
index 470d4870ee92..19fc0c63f4fa 100644
--- a/samples/client/petstore/csharp/generichost/net10/AnyOf/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net10/AnyOf/.openapi-generator/FILES
@@ -33,6 +33,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net10/AnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net10/AnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..fc9c1a726182
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net10/AnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * fruity
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net10/AnyOf/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net10/AnyOf/src/Org.OpenAPITools/README.md
index d126fd55774f..a93fa134f229 100644
--- a/samples/client/petstore/csharp/generichost/net10/AnyOf/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net10/AnyOf/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IRootGetApiResponse apiResponse = await api.RootGetAsync("todo");
Fruit? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/.openapi-generator/FILES
index 470d4870ee92..19fc0c63f4fa 100644
--- a/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/.openapi-generator/FILES
@@ -33,6 +33,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..fc9c1a726182
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * fruity
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/src/Org.OpenAPITools/README.md
index d126fd55774f..a93fa134f229 100644
--- a/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IRootGetApiResponse apiResponse = await api.RootGetAsync("todo");
Fruit? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES
index b3b6081185ca..1418128b560d 100644
--- a/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net10/FormModels/.openapi-generator/FILES
@@ -177,6 +177,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..d11f51131857
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,38 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/README.md
index 6d718337cadb..02d8cea3a538 100644
--- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/.openapi-generator/FILES
index 0698a2042def..d85537f7fad8 100644
--- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/.openapi-generator/FILES
@@ -152,6 +152,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..14f35a6e2c06
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,40 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/README.md
index 121dfdc3ee2e..1f3d613cb6cf 100644
--- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net10/OneOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net10/OneOf/.openapi-generator/FILES
index de14bc5e5e2a..08dc739215b6 100644
--- a/samples/client/petstore/csharp/generichost/net10/OneOf/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net10/OneOf/.openapi-generator/FILES
@@ -34,6 +34,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..fc9c1a726182
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * fruity
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/README.md
index 97485dff5637..c6c17957f42e 100644
--- a/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IRootGetApiResponse apiResponse = await api.RootGetAsync("todo");
Fruit? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net10/Petstore/.openapi-generator/FILES
index 0698a2042def..d85537f7fad8 100644
--- a/samples/client/petstore/csharp/generichost/net10/Petstore/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net10/Petstore/.openapi-generator/FILES
@@ -152,6 +152,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..d11f51131857
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,38 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/README.md
index 6d718337cadb..02d8cea3a538 100644
--- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/.openapi-generator/FILES
index 0698a2042def..d85537f7fad8 100644
--- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/.openapi-generator/FILES
@@ -152,6 +152,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..14f35a6e2c06
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,40 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/README.md
index 121dfdc3ee2e..1f3d613cb6cf 100644
--- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/.openapi-generator/FILES
index 014d2e094f31..e1b104ed0d79 100644
--- a/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/.openapi-generator/FILES
@@ -29,6 +29,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..a436d643049d
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * OpenAPI Dates
+ *
+ * Thic spec contains endpoints with dates in different formats
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/src/Org.OpenAPITools/README.md
index c704b62623e9..5cb3a04c246e 100644
--- a/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
INowGetApiResponse apiResponse = await api.NowGetAsync("todo");
NowGet200Response? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net8/AllOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/AllOf/.openapi-generator/FILES
index e32fc0acf018..a57606eb2ef2 100644
--- a/samples/client/petstore/csharp/generichost/net8/AllOf/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net8/AllOf/.openapi-generator/FILES
@@ -33,6 +33,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..e28ea0be8aec
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * Example
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/README.md
index 227d28c7f58d..3dfdb773bf71 100644
--- a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IListApiResponse apiResponse = await api.ListAsync("todo");
Person? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/AnyOf/.openapi-generator/FILES
index 470d4870ee92..19fc0c63f4fa 100644
--- a/samples/client/petstore/csharp/generichost/net8/AnyOf/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net8/AnyOf/.openapi-generator/FILES
@@ -33,6 +33,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..fc9c1a726182
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * fruity
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/README.md
index d126fd55774f..a93fa134f229 100644
--- a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IRootGetApiResponse apiResponse = await api.RootGetAsync("todo");
Fruit? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/.openapi-generator/FILES
index 470d4870ee92..19fc0c63f4fa 100644
--- a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/.openapi-generator/FILES
@@ -33,6 +33,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..fc9c1a726182
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * fruity
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/README.md
index d126fd55774f..a93fa134f229 100644
--- a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IRootGetApiResponse apiResponse = await api.RootGetAsync("todo");
Fruit? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES
index b3b6081185ca..1418128b560d 100644
--- a/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net8/FormModels/.openapi-generator/FILES
@@ -177,6 +177,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..d11f51131857
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,38 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/README.md
index 6d718337cadb..02d8cea3a538 100644
--- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/.openapi-generator/FILES
index 0698a2042def..d85537f7fad8 100644
--- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/.openapi-generator/FILES
@@ -152,6 +152,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..14f35a6e2c06
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,40 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/README.md
index 121dfdc3ee2e..1f3d613cb6cf 100644
--- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES
index de14bc5e5e2a..08dc739215b6 100644
--- a/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES
@@ -34,6 +34,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..fc9c1a726182
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * fruity
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/README.md
index 97485dff5637..c6c17957f42e 100644
--- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IRootGetApiResponse apiResponse = await api.RootGetAsync("todo");
Fruit? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/Petstore/.openapi-generator/FILES
index 0698a2042def..d85537f7fad8 100644
--- a/samples/client/petstore/csharp/generichost/net8/Petstore/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net8/Petstore/.openapi-generator/FILES
@@ -152,6 +152,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..d11f51131857
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,38 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/README.md
index 6d718337cadb..02d8cea3a538 100644
--- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/.openapi-generator/FILES
index 0698a2042def..d85537f7fad8 100644
--- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/.openapi-generator/FILES
@@ -152,6 +152,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..14f35a6e2c06
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,40 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/README.md
index 121dfdc3ee2e..1f3d613cb6cf 100644
--- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/.openapi-generator/FILES
index 014d2e094f31..e1b104ed0d79 100644
--- a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/.openapi-generator/FILES
@@ -29,6 +29,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..a436d643049d
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * OpenAPI Dates
+ *
+ * Thic spec contains endpoints with dates in different formats
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/README.md
index c704b62623e9..5cb3a04c246e 100644
--- a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
INowGetApiResponse apiResponse = await api.NowGetAsync("todo");
NowGet200Response? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net9/AllOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net9/AllOf/.openapi-generator/FILES
index e32fc0acf018..a57606eb2ef2 100644
--- a/samples/client/petstore/csharp/generichost/net9/AllOf/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net9/AllOf/.openapi-generator/FILES
@@ -33,6 +33,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..e28ea0be8aec
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * Example
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/README.md
index 227d28c7f58d..3dfdb773bf71 100644
--- a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IListApiResponse apiResponse = await api.ListAsync("todo");
Person? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net9/AnyOf/.openapi-generator/FILES
index 470d4870ee92..19fc0c63f4fa 100644
--- a/samples/client/petstore/csharp/generichost/net9/AnyOf/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net9/AnyOf/.openapi-generator/FILES
@@ -33,6 +33,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..fc9c1a726182
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * fruity
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/README.md
index d126fd55774f..a93fa134f229 100644
--- a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IRootGetApiResponse apiResponse = await api.RootGetAsync("todo");
Fruit? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/.openapi-generator/FILES
index 470d4870ee92..19fc0c63f4fa 100644
--- a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/.openapi-generator/FILES
@@ -33,6 +33,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..fc9c1a726182
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * fruity
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/README.md
index d126fd55774f..a93fa134f229 100644
--- a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IRootGetApiResponse apiResponse = await api.RootGetAsync("todo");
Fruit? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES
index b3b6081185ca..1418128b560d 100644
--- a/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net9/FormModels/.openapi-generator/FILES
@@ -177,6 +177,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..d11f51131857
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,38 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/README.md
index 6d718337cadb..02d8cea3a538 100644
--- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/.openapi-generator/FILES
index 0698a2042def..d85537f7fad8 100644
--- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/.openapi-generator/FILES
@@ -152,6 +152,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..14f35a6e2c06
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,40 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/README.md
index 121dfdc3ee2e..1f3d613cb6cf 100644
--- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net9/OneOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net9/OneOf/.openapi-generator/FILES
index de14bc5e5e2a..08dc739215b6 100644
--- a/samples/client/petstore/csharp/generichost/net9/OneOf/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net9/OneOf/.openapi-generator/FILES
@@ -34,6 +34,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..fc9c1a726182
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * fruity
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * The version of the OpenAPI document: 0.0.1
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/README.md
index 97485dff5637..c6c17957f42e 100644
--- a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
IRootGetApiResponse apiResponse = await api.RootGetAsync("todo");
Fruit? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net9/Petstore/.openapi-generator/FILES
index 0698a2042def..d85537f7fad8 100644
--- a/samples/client/petstore/csharp/generichost/net9/Petstore/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net9/Petstore/.openapi-generator/FILES
@@ -152,6 +152,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..d11f51131857
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,38 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/README.md
index 6d718337cadb..02d8cea3a538 100644
--- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/.openapi-generator/FILES
index 0698a2042def..d85537f7fad8 100644
--- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/.openapi-generator/FILES
@@ -152,6 +152,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..14f35a6e2c06
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,40 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/README.md
index 121dfdc3ee2e..1f3d613cb6cf 100644
--- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/README.md
@@ -53,41 +53,41 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ // The type of token here depends on the api security specifications
+ // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
+ BearerToken token = new("");
+ options.AddTokens(token);
+
+ // optionally choose the method the tokens will be provided with, default is RateLimitProvider
+ options.UseProvider, BearerToken>();
+
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
ICall123TestSpecialTagsApiResponse apiResponse = await api.Call123TestSpecialTagsAsync("todo");
ModelClient? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- // The type of token here depends on the api security specifications
- // Available token types are ApiKeyToken, BasicToken, BearerToken, HttpSigningToken, and OAuthToken.
- BearerToken token = new("");
- options.AddTokens(token);
-
- // optionally choose the method the tokens will be provided with, default is RateLimitProvider
- options.UseProvider, BearerToken>();
-
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```
diff --git a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/.openapi-generator/FILES
index 014d2e094f31..e1b104ed0d79 100644
--- a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/.openapi-generator/FILES
+++ b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/.openapi-generator/FILES
@@ -29,6 +29,7 @@ src/Org.OpenAPITools/Client/RateLimitProvider`1.cs
src/Org.OpenAPITools/Client/TokenBase.cs
src/Org.OpenAPITools/Client/TokenContainer`1.cs
src/Org.OpenAPITools/Client/TokenProvider`1.cs
+src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHostBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IHttpClientBuilderExtensions.cs
src/Org.OpenAPITools/Extensions/IServiceCollectionExtensions.cs
diff --git a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
new file mode 100644
index 000000000000..a436d643049d
--- /dev/null
+++ b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Extensions/IHostApplicationBuilderExtensions.cs
@@ -0,0 +1,53 @@
+/*
+ * OpenAPI Dates
+ *
+ * Thic spec contains endpoints with dates in different formats
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+#nullable enable
+
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Org.OpenAPITools.Client;
+
+namespace Org.OpenAPITools.Extensions
+{
+ ///
+ /// Extension methods for IHostApplicationBuilder
+ ///
+ public static class IHostApplicationBuilderExtensions
+ {
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+
+ ///
+ /// Add the api to your application builder.
+ ///
+ ///
+ ///
+ public static IHostApplicationBuilder ConfigureApi(this IHostApplicationBuilder builder, Action? options = null)
+ {
+ HostConfiguration config = new(builder.Services);
+
+ options?.Invoke(config);
+
+ IServiceCollectionExtensions.AddApi(builder.Services, config);
+
+ return builder;
+ }
+ }
+}
diff --git a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/README.md b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/README.md
index c704b62623e9..5cb3a04c246e 100644
--- a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/README.md
+++ b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/README.md
@@ -53,33 +53,33 @@ namespace YourProject
{
public static async Task Main(string[] args)
{
- var host = CreateHostBuilder(args).Build();
+ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
+
+ builder.ConfigureApi(options =>
+ {
+ options.ConfigureJsonOptions(jsonOptions =>
+ {
+ // your custom converters if any
+ });
+
+ options.AddApiHttpClients(client =>
+ {
+ // client configuration
+ }, clientBuilder =>
+ {
+ clientBuilder
+ .AddRetryPolicy(2)
+ .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
+ .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
+ // add whatever middleware you prefer
+ });
+ });
+
+ IHost host = builder.Build();
var api = host.Services.GetRequiredService();
INowGetApiResponse apiResponse = await api.NowGetAsync("todo");
NowGet200Response? model = apiResponse.Ok();
}
-
- public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
- .ConfigureApi((context, options) =>
- {
- options.ConfigureJsonOptions((jsonOptions) =>
- {
- // your custom converters if any
- });
-
- options.AddApiHttpClients(client =>
- {
- // client configuration
- }, builder =>
- {
- builder
- .AddRetryPolicy(2)
- .AddTimeoutPolicy(TimeSpan.FromSeconds(5))
- .AddCircuitBreakerPolicy(10, TimeSpan.FromSeconds(30));
- // add whatever middleware you prefer
- }
- );
- });
}
}
```