diff --git a/modules/openapi-generator/src/main/resources/csharp/ApiClient.mustache b/modules/openapi-generator/src/main/resources/csharp/ApiClient.mustache
index eb5be40d3ae..d9369b1bc08 100644
--- a/modules/openapi-generator/src/main/resources/csharp/ApiClient.mustache
+++ b/modules/openapi-generator/src/main/resources/csharp/ApiClient.mustache
@@ -449,10 +449,9 @@ namespace {{packageName}}.Client
/// A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
/// A new ApiResponse instance.
- private ApiResponse ExecClient(Func> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ private async Task> ExecClientAsync(Func>> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
-
var clientOptions = new RestClientOptions(baseUrl)
{
ClientCertificates = configuration.ClientCertificates,
@@ -485,7 +484,7 @@ namespace {{packageName}}.Client
{
InterceptRequest(request);
- RestResponse response = getResponse(client);
+ RestResponse response = await getResponse(client);
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
@@ -581,21 +580,21 @@ namespace {{packageName}}.Client
clientOptions.CookieContainer = cookies;
};
- Func> getResponse = (client) =>
+ Func>> getResponse = (client) =>
{
if (RetryConfiguration.RetryPolicy != null)
{
var policy = RetryConfiguration.RetryPolicy;
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ return Task.FromResult(DeserializeRestResponseFromPolicy(client, request, policyResult));
}
else
{
- return client.Execute(request);
+ return Task.FromResult(client.Execute(request));
}
};
- return ExecClient(getResponse, setOptions, request, options, configuration);
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
}
{{#supportsAsync}}
@@ -606,29 +605,25 @@ namespace {{packageName}}.Client
//no extra options
};
- Func> getResponse = (client) =>
+ Func>> getResponse = async (client) =>
{
- Func>> action = async () =>
+ {{#supportsRetry}}
+ if (RetryConfiguration.AsyncRetryPolicy != null)
{
- {{#supportsRetry}}
- if (RetryConfiguration.AsyncRetryPolicy != null)
- {
- var policy = RetryConfiguration.AsyncRetryPolicy;
- var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
- }
- else
- {
- {{/supportsRetry}}
- return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
- {{#supportsRetry}}
- }
- {{/supportsRetry}}
- };
- return action().Result;
+ var policy = RetryConfiguration.AsyncRetryPolicy;
+ var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
+ return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ }
+ else
+ {
+ {{/supportsRetry}}
+ return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
+ {{#supportsRetry}}
+ }
+ {{/supportsRetry}}
};
- return Task.FromResult>(ExecClient(getResponse, setOptions, request, options, configuration));
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration);
}
#region IAsynchronousClient
diff --git a/samples/client/echo_api/csharp-restsharp/src/Org.OpenAPITools/Client/ApiClient.cs b/samples/client/echo_api/csharp-restsharp/src/Org.OpenAPITools/Client/ApiClient.cs
index 1f3056ed28e..e3ae4e14ff0 100644
--- a/samples/client/echo_api/csharp-restsharp/src/Org.OpenAPITools/Client/ApiClient.cs
+++ b/samples/client/echo_api/csharp-restsharp/src/Org.OpenAPITools/Client/ApiClient.cs
@@ -449,10 +449,9 @@ namespace Org.OpenAPITools.Client
/// A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
/// A new ApiResponse instance.
- private ApiResponse ExecClient(Func> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ private async Task> ExecClientAsync(Func>> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
-
var clientOptions = new RestClientOptions(baseUrl)
{
ClientCertificates = configuration.ClientCertificates,
@@ -469,7 +468,7 @@ namespace Org.OpenAPITools.Client
{
InterceptRequest(request);
- RestResponse response = getResponse(client);
+ RestResponse response = await getResponse(client);
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
@@ -565,21 +564,21 @@ namespace Org.OpenAPITools.Client
clientOptions.CookieContainer = cookies;
};
- Func> getResponse = (client) =>
+ Func>> getResponse = (client) =>
{
if (RetryConfiguration.RetryPolicy != null)
{
var policy = RetryConfiguration.RetryPolicy;
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ return Task.FromResult(DeserializeRestResponseFromPolicy(client, request, policyResult));
}
else
{
- return client.Execute(request);
+ return Task.FromResult(client.Execute(request));
}
};
- return ExecClient(getResponse, setOptions, request, options, configuration);
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
}
private Task> ExecAsync(RestRequest request, RequestOptions options, IReadableConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken))
@@ -589,25 +588,21 @@ namespace Org.OpenAPITools.Client
//no extra options
};
- Func> getResponse = (client) =>
+ Func>> getResponse = async (client) =>
{
- Func>> action = async () =>
+ if (RetryConfiguration.AsyncRetryPolicy != null)
{
- if (RetryConfiguration.AsyncRetryPolicy != null)
- {
- var policy = RetryConfiguration.AsyncRetryPolicy;
- var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
- }
- else
- {
- return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
- }
- };
- return action().Result;
+ var policy = RetryConfiguration.AsyncRetryPolicy;
+ var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
+ return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ }
+ else
+ {
+ return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
+ }
};
- return Task.FromResult>(ExecClient(getResponse, setOptions, request, options, configuration));
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration);
}
#region IAsynchronousClient
diff --git a/samples/client/others/csharp-complex-files/src/Org.OpenAPITools/Client/ApiClient.cs b/samples/client/others/csharp-complex-files/src/Org.OpenAPITools/Client/ApiClient.cs
index 789c14ac264..556ac501524 100644
--- a/samples/client/others/csharp-complex-files/src/Org.OpenAPITools/Client/ApiClient.cs
+++ b/samples/client/others/csharp-complex-files/src/Org.OpenAPITools/Client/ApiClient.cs
@@ -449,10 +449,9 @@ namespace Org.OpenAPITools.Client
/// A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
/// A new ApiResponse instance.
- private ApiResponse ExecClient(Func> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ private async Task> ExecClientAsync(Func>> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
-
var clientOptions = new RestClientOptions(baseUrl)
{
ClientCertificates = configuration.ClientCertificates,
@@ -469,7 +468,7 @@ namespace Org.OpenAPITools.Client
{
InterceptRequest(request);
- RestResponse response = getResponse(client);
+ RestResponse response = await getResponse(client);
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
@@ -565,21 +564,21 @@ namespace Org.OpenAPITools.Client
clientOptions.CookieContainer = cookies;
};
- Func> getResponse = (client) =>
+ Func>> getResponse = (client) =>
{
if (RetryConfiguration.RetryPolicy != null)
{
var policy = RetryConfiguration.RetryPolicy;
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ return Task.FromResult(DeserializeRestResponseFromPolicy(client, request, policyResult));
}
else
{
- return client.Execute(request);
+ return Task.FromResult(client.Execute(request));
}
};
- return ExecClient(getResponse, setOptions, request, options, configuration);
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
}
private Task> ExecAsync(RestRequest request, RequestOptions options, IReadableConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken))
@@ -589,25 +588,21 @@ namespace Org.OpenAPITools.Client
//no extra options
};
- Func> getResponse = (client) =>
+ Func>> getResponse = async (client) =>
{
- Func>> action = async () =>
+ if (RetryConfiguration.AsyncRetryPolicy != null)
{
- if (RetryConfiguration.AsyncRetryPolicy != null)
- {
- var policy = RetryConfiguration.AsyncRetryPolicy;
- var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
- }
- else
- {
- return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
- }
- };
- return action().Result;
+ var policy = RetryConfiguration.AsyncRetryPolicy;
+ var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
+ return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ }
+ else
+ {
+ return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
+ }
};
- return Task.FromResult>(ExecClient(getResponse, setOptions, request, options, configuration));
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration);
}
#region IAsynchronousClient
diff --git a/samples/client/petstore/csharp/restsharp/net4.7/MultipleFrameworks/src/Org.OpenAPITools/Client/ApiClient.cs b/samples/client/petstore/csharp/restsharp/net4.7/MultipleFrameworks/src/Org.OpenAPITools/Client/ApiClient.cs
index 7f9fc8d8a17..f599a4955a3 100644
--- a/samples/client/petstore/csharp/restsharp/net4.7/MultipleFrameworks/src/Org.OpenAPITools/Client/ApiClient.cs
+++ b/samples/client/petstore/csharp/restsharp/net4.7/MultipleFrameworks/src/Org.OpenAPITools/Client/ApiClient.cs
@@ -450,10 +450,9 @@ namespace Org.OpenAPITools.Client
/// A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
/// A new ApiResponse instance.
- private ApiResponse ExecClient(Func> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ private async Task> ExecClientAsync(Func>> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
-
var clientOptions = new RestClientOptions(baseUrl)
{
ClientCertificates = configuration.ClientCertificates,
@@ -484,7 +483,7 @@ namespace Org.OpenAPITools.Client
{
InterceptRequest(request);
- RestResponse response = getResponse(client);
+ RestResponse response = await getResponse(client);
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
@@ -580,21 +579,21 @@ namespace Org.OpenAPITools.Client
clientOptions.CookieContainer = cookies;
};
- Func> getResponse = (client) =>
+ Func>> getResponse = (client) =>
{
if (RetryConfiguration.RetryPolicy != null)
{
var policy = RetryConfiguration.RetryPolicy;
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ return Task.FromResult(DeserializeRestResponseFromPolicy(client, request, policyResult));
}
else
{
- return client.Execute(request);
+ return Task.FromResult(client.Execute(request));
}
};
- return ExecClient(getResponse, setOptions, request, options, configuration);
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
}
private Task> ExecAsync(RestRequest request, RequestOptions options, IReadableConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken))
@@ -604,25 +603,21 @@ namespace Org.OpenAPITools.Client
//no extra options
};
- Func> getResponse = (client) =>
+ Func>> getResponse = async (client) =>
{
- Func>> action = async () =>
+ if (RetryConfiguration.AsyncRetryPolicy != null)
{
- if (RetryConfiguration.AsyncRetryPolicy != null)
- {
- var policy = RetryConfiguration.AsyncRetryPolicy;
- var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
- }
- else
- {
- return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
- }
- };
- return action().Result;
+ var policy = RetryConfiguration.AsyncRetryPolicy;
+ var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
+ return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ }
+ else
+ {
+ return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
+ }
};
- return Task.FromResult>(ExecClient(getResponse, setOptions, request, options, configuration));
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration);
}
#region IAsynchronousClient
diff --git a/samples/client/petstore/csharp/restsharp/net4.7/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs b/samples/client/petstore/csharp/restsharp/net4.7/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs
index 0ad9a7e2d52..60e8c391372 100644
--- a/samples/client/petstore/csharp/restsharp/net4.7/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs
+++ b/samples/client/petstore/csharp/restsharp/net4.7/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs
@@ -450,10 +450,9 @@ namespace Org.OpenAPITools.Client
/// A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
/// A new ApiResponse instance.
- private ApiResponse ExecClient(Func> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ private async Task> ExecClientAsync(Func>> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
-
var clientOptions = new RestClientOptions(baseUrl)
{
ClientCertificates = configuration.ClientCertificates,
@@ -484,7 +483,7 @@ namespace Org.OpenAPITools.Client
{
InterceptRequest(request);
- RestResponse response = getResponse(client);
+ RestResponse response = await getResponse(client);
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
@@ -580,21 +579,21 @@ namespace Org.OpenAPITools.Client
clientOptions.CookieContainer = cookies;
};
- Func> getResponse = (client) =>
+ Func>> getResponse = (client) =>
{
if (RetryConfiguration.RetryPolicy != null)
{
var policy = RetryConfiguration.RetryPolicy;
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ return Task.FromResult(DeserializeRestResponseFromPolicy(client, request, policyResult));
}
else
{
- return client.Execute(request);
+ return Task.FromResult(client.Execute(request));
}
};
- return ExecClient(getResponse, setOptions, request, options, configuration);
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
}
private Task> ExecAsync(RestRequest request, RequestOptions options, IReadableConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken))
@@ -604,25 +603,21 @@ namespace Org.OpenAPITools.Client
//no extra options
};
- Func> getResponse = (client) =>
+ Func>> getResponse = async (client) =>
{
- Func>> action = async () =>
+ if (RetryConfiguration.AsyncRetryPolicy != null)
{
- if (RetryConfiguration.AsyncRetryPolicy != null)
- {
- var policy = RetryConfiguration.AsyncRetryPolicy;
- var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
- }
- else
- {
- return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
- }
- };
- return action().Result;
+ var policy = RetryConfiguration.AsyncRetryPolicy;
+ var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
+ return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ }
+ else
+ {
+ return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
+ }
};
- return Task.FromResult>(ExecClient(getResponse, setOptions, request, options, configuration));
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration);
}
#region IAsynchronousClient
diff --git a/samples/client/petstore/csharp/restsharp/net4.8/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs b/samples/client/petstore/csharp/restsharp/net4.8/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs
index 0ad9a7e2d52..60e8c391372 100644
--- a/samples/client/petstore/csharp/restsharp/net4.8/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs
+++ b/samples/client/petstore/csharp/restsharp/net4.8/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs
@@ -450,10 +450,9 @@ namespace Org.OpenAPITools.Client
/// A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
/// A new ApiResponse instance.
- private ApiResponse ExecClient(Func> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ private async Task> ExecClientAsync(Func>> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
-
var clientOptions = new RestClientOptions(baseUrl)
{
ClientCertificates = configuration.ClientCertificates,
@@ -484,7 +483,7 @@ namespace Org.OpenAPITools.Client
{
InterceptRequest(request);
- RestResponse response = getResponse(client);
+ RestResponse response = await getResponse(client);
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
@@ -580,21 +579,21 @@ namespace Org.OpenAPITools.Client
clientOptions.CookieContainer = cookies;
};
- Func> getResponse = (client) =>
+ Func>> getResponse = (client) =>
{
if (RetryConfiguration.RetryPolicy != null)
{
var policy = RetryConfiguration.RetryPolicy;
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ return Task.FromResult(DeserializeRestResponseFromPolicy(client, request, policyResult));
}
else
{
- return client.Execute(request);
+ return Task.FromResult(client.Execute(request));
}
};
- return ExecClient(getResponse, setOptions, request, options, configuration);
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
}
private Task> ExecAsync(RestRequest request, RequestOptions options, IReadableConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken))
@@ -604,25 +603,21 @@ namespace Org.OpenAPITools.Client
//no extra options
};
- Func> getResponse = (client) =>
+ Func>> getResponse = async (client) =>
{
- Func>> action = async () =>
+ if (RetryConfiguration.AsyncRetryPolicy != null)
{
- if (RetryConfiguration.AsyncRetryPolicy != null)
- {
- var policy = RetryConfiguration.AsyncRetryPolicy;
- var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
- }
- else
- {
- return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
- }
- };
- return action().Result;
+ var policy = RetryConfiguration.AsyncRetryPolicy;
+ var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
+ return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ }
+ else
+ {
+ return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
+ }
};
- return Task.FromResult>(ExecClient(getResponse, setOptions, request, options, configuration));
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration);
}
#region IAsynchronousClient
diff --git a/samples/client/petstore/csharp/restsharp/net6/ParameterMappings/src/Org.OpenAPITools/Client/ApiClient.cs b/samples/client/petstore/csharp/restsharp/net6/ParameterMappings/src/Org.OpenAPITools/Client/ApiClient.cs
index fe40f39ad5b..e66ebeceeb2 100644
--- a/samples/client/petstore/csharp/restsharp/net6/ParameterMappings/src/Org.OpenAPITools/Client/ApiClient.cs
+++ b/samples/client/petstore/csharp/restsharp/net6/ParameterMappings/src/Org.OpenAPITools/Client/ApiClient.cs
@@ -448,10 +448,9 @@ namespace Org.OpenAPITools.Client
/// A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
/// A new ApiResponse instance.
- private ApiResponse ExecClient(Func> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ private async Task> ExecClientAsync(Func>> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
-
var clientOptions = new RestClientOptions(baseUrl)
{
ClientCertificates = configuration.ClientCertificates,
@@ -468,7 +467,7 @@ namespace Org.OpenAPITools.Client
{
InterceptRequest(request);
- RestResponse response = getResponse(client);
+ RestResponse response = await getResponse(client);
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
@@ -564,21 +563,21 @@ namespace Org.OpenAPITools.Client
clientOptions.CookieContainer = cookies;
};
- Func> getResponse = (client) =>
+ Func>> getResponse = (client) =>
{
if (RetryConfiguration.RetryPolicy != null)
{
var policy = RetryConfiguration.RetryPolicy;
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ return Task.FromResult(DeserializeRestResponseFromPolicy(client, request, policyResult));
}
else
{
- return client.Execute(request);
+ return Task.FromResult(client.Execute(request));
}
};
- return ExecClient(getResponse, setOptions, request, options, configuration);
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
}
private Task> ExecAsync(RestRequest request, RequestOptions options, IReadableConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken))
@@ -588,25 +587,21 @@ namespace Org.OpenAPITools.Client
//no extra options
};
- Func> getResponse = (client) =>
+ Func>> getResponse = async (client) =>
{
- Func>> action = async () =>
+ if (RetryConfiguration.AsyncRetryPolicy != null)
{
- if (RetryConfiguration.AsyncRetryPolicy != null)
- {
- var policy = RetryConfiguration.AsyncRetryPolicy;
- var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
- }
- else
- {
- return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
- }
- };
- return action().Result;
+ var policy = RetryConfiguration.AsyncRetryPolicy;
+ var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
+ return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ }
+ else
+ {
+ return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
+ }
};
- return Task.FromResult>(ExecClient(getResponse, setOptions, request, options, configuration));
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration);
}
#region IAsynchronousClient
diff --git a/samples/client/petstore/csharp/restsharp/net7/EnumMappings/src/Org.OpenAPITools/Client/ApiClient.cs b/samples/client/petstore/csharp/restsharp/net7/EnumMappings/src/Org.OpenAPITools/Client/ApiClient.cs
index 69279ed569c..cc82ae2deab 100644
--- a/samples/client/petstore/csharp/restsharp/net7/EnumMappings/src/Org.OpenAPITools/Client/ApiClient.cs
+++ b/samples/client/petstore/csharp/restsharp/net7/EnumMappings/src/Org.OpenAPITools/Client/ApiClient.cs
@@ -449,10 +449,9 @@ namespace Org.OpenAPITools.Client
/// A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
/// A new ApiResponse instance.
- private ApiResponse ExecClient(Func> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ private async Task> ExecClientAsync(Func>> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
-
var clientOptions = new RestClientOptions(baseUrl)
{
ClientCertificates = configuration.ClientCertificates,
@@ -483,7 +482,7 @@ namespace Org.OpenAPITools.Client
{
InterceptRequest(request);
- RestResponse response = getResponse(client);
+ RestResponse response = await getResponse(client);
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
@@ -579,21 +578,21 @@ namespace Org.OpenAPITools.Client
clientOptions.CookieContainer = cookies;
};
- Func> getResponse = (client) =>
+ Func>> getResponse = (client) =>
{
if (RetryConfiguration.RetryPolicy != null)
{
var policy = RetryConfiguration.RetryPolicy;
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ return Task.FromResult(DeserializeRestResponseFromPolicy(client, request, policyResult));
}
else
{
- return client.Execute(request);
+ return Task.FromResult(client.Execute(request));
}
};
- return ExecClient(getResponse, setOptions, request, options, configuration);
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
}
private Task> ExecAsync(RestRequest request, RequestOptions options, IReadableConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken))
@@ -603,25 +602,21 @@ namespace Org.OpenAPITools.Client
//no extra options
};
- Func> getResponse = (client) =>
+ Func>> getResponse = async (client) =>
{
- Func>> action = async () =>
+ if (RetryConfiguration.AsyncRetryPolicy != null)
{
- if (RetryConfiguration.AsyncRetryPolicy != null)
- {
- var policy = RetryConfiguration.AsyncRetryPolicy;
- var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
- }
- else
- {
- return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
- }
- };
- return action().Result;
+ var policy = RetryConfiguration.AsyncRetryPolicy;
+ var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
+ return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ }
+ else
+ {
+ return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
+ }
};
- return Task.FromResult>(ExecClient(getResponse, setOptions, request, options, configuration));
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration);
}
#region IAsynchronousClient
diff --git a/samples/client/petstore/csharp/restsharp/net7/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs b/samples/client/petstore/csharp/restsharp/net7/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs
index 69279ed569c..cc82ae2deab 100644
--- a/samples/client/petstore/csharp/restsharp/net7/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs
+++ b/samples/client/petstore/csharp/restsharp/net7/Petstore/src/Org.OpenAPITools/Client/ApiClient.cs
@@ -449,10 +449,9 @@ namespace Org.OpenAPITools.Client
/// A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
/// A new ApiResponse instance.
- private ApiResponse ExecClient(Func> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ private async Task> ExecClientAsync(Func>> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
-
var clientOptions = new RestClientOptions(baseUrl)
{
ClientCertificates = configuration.ClientCertificates,
@@ -483,7 +482,7 @@ namespace Org.OpenAPITools.Client
{
InterceptRequest(request);
- RestResponse response = getResponse(client);
+ RestResponse response = await getResponse(client);
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
@@ -579,21 +578,21 @@ namespace Org.OpenAPITools.Client
clientOptions.CookieContainer = cookies;
};
- Func> getResponse = (client) =>
+ Func>> getResponse = (client) =>
{
if (RetryConfiguration.RetryPolicy != null)
{
var policy = RetryConfiguration.RetryPolicy;
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ return Task.FromResult(DeserializeRestResponseFromPolicy(client, request, policyResult));
}
else
{
- return client.Execute(request);
+ return Task.FromResult(client.Execute(request));
}
};
- return ExecClient(getResponse, setOptions, request, options, configuration);
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
}
private Task> ExecAsync(RestRequest request, RequestOptions options, IReadableConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken))
@@ -603,25 +602,21 @@ namespace Org.OpenAPITools.Client
//no extra options
};
- Func> getResponse = (client) =>
+ Func>> getResponse = async (client) =>
{
- Func>> action = async () =>
+ if (RetryConfiguration.AsyncRetryPolicy != null)
{
- if (RetryConfiguration.AsyncRetryPolicy != null)
- {
- var policy = RetryConfiguration.AsyncRetryPolicy;
- var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
- }
- else
- {
- return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
- }
- };
- return action().Result;
+ var policy = RetryConfiguration.AsyncRetryPolicy;
+ var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
+ return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ }
+ else
+ {
+ return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
+ }
};
- return Task.FromResult>(ExecClient(getResponse, setOptions, request, options, configuration));
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration);
}
#region IAsynchronousClient
diff --git a/samples/client/petstore/csharp/restsharp/net7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiClient.cs b/samples/client/petstore/csharp/restsharp/net7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiClient.cs
index 9190dbea600..c98004a0527 100644
--- a/samples/client/petstore/csharp/restsharp/net7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiClient.cs
+++ b/samples/client/petstore/csharp/restsharp/net7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiClient.cs
@@ -448,10 +448,9 @@ namespace Org.OpenAPITools.Client
/// A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
/// A new ApiResponse instance.
- private ApiResponse ExecClient(Func> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ private async Task> ExecClientAsync(Func>> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
-
var clientOptions = new RestClientOptions(baseUrl)
{
ClientCertificates = configuration.ClientCertificates,
@@ -468,7 +467,7 @@ namespace Org.OpenAPITools.Client
{
InterceptRequest(request);
- RestResponse response = getResponse(client);
+ RestResponse response = await getResponse(client);
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
@@ -564,21 +563,21 @@ namespace Org.OpenAPITools.Client
clientOptions.CookieContainer = cookies;
};
- Func> getResponse = (client) =>
+ Func>> getResponse = (client) =>
{
if (RetryConfiguration.RetryPolicy != null)
{
var policy = RetryConfiguration.RetryPolicy;
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ return Task.FromResult(DeserializeRestResponseFromPolicy(client, request, policyResult));
}
else
{
- return client.Execute(request);
+ return Task.FromResult(client.Execute(request));
}
};
- return ExecClient(getResponse, setOptions, request, options, configuration);
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
}
private Task> ExecAsync(RestRequest request, RequestOptions options, IReadableConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken))
@@ -588,25 +587,21 @@ namespace Org.OpenAPITools.Client
//no extra options
};
- Func> getResponse = (client) =>
+ Func>> getResponse = async (client) =>
{
- Func>> action = async () =>
+ if (RetryConfiguration.AsyncRetryPolicy != null)
{
- if (RetryConfiguration.AsyncRetryPolicy != null)
- {
- var policy = RetryConfiguration.AsyncRetryPolicy;
- var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
- return DeserializeRestResponseFromPolicy(client, request, policyResult);
- }
- else
- {
- return await client.ExecuteAsync