mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-09 20:06:08 +00:00
[csharp] Update RestSharp to 110.2.0 (#16122)
* [csharp] Update RestSharp to 110.2.0 * Post './bin/generate-samples.sh bin/configs/csharp*' and './bin/utils/export_docs_generators.sh' scripts * OAuthAuthenticator: use configureSerialization * ContentType prop = RestSharp.ContentType.Json * `req` -> `request` in `Exec()` and `ExecAsync()` * Regenerate samples
This commit is contained in:
@@ -39,7 +39,6 @@ namespace Org.OpenAPITools.Client
|
||||
internal class CustomJsonCodec : IRestSerializer, ISerializer, IDeserializer
|
||||
{
|
||||
private readonly IReadableConfiguration _configuration;
|
||||
private static readonly string _contentType = "application/json";
|
||||
private readonly JsonSerializerSettings _serializerSettings = new JsonSerializerSettings
|
||||
{
|
||||
// OpenAPI generated types generally hide default constructors.
|
||||
@@ -152,17 +151,13 @@ namespace Org.OpenAPITools.Client
|
||||
public ISerializer Serializer => this;
|
||||
public IDeserializer Deserializer => this;
|
||||
|
||||
public string[] AcceptedContentTypes => RestSharp.Serializers.ContentType.JsonAccept;
|
||||
public string[] AcceptedContentTypes => RestSharp.ContentType.JsonAccept;
|
||||
|
||||
public SupportsContentType SupportsContentType => contentType =>
|
||||
contentType.EndsWith("json", StringComparison.InvariantCultureIgnoreCase) ||
|
||||
contentType.EndsWith("javascript", StringComparison.InvariantCultureIgnoreCase);
|
||||
contentType.Value.EndsWith("json", StringComparison.InvariantCultureIgnoreCase) ||
|
||||
contentType.Value.EndsWith("javascript", StringComparison.InvariantCultureIgnoreCase);
|
||||
|
||||
public string ContentType
|
||||
{
|
||||
get { return _contentType; }
|
||||
set { throw new InvalidOperationException("Not allowed to set content type."); }
|
||||
}
|
||||
public ContentType ContentType { get; set; } = RestSharp.ContentType.Json;
|
||||
|
||||
public DataFormat DataFormat => DataFormat.Json;
|
||||
}
|
||||
@@ -435,7 +430,7 @@ namespace Org.OpenAPITools.Client
|
||||
return transformed;
|
||||
}
|
||||
|
||||
private ApiResponse<T> Exec<T>(RestRequest req, RequestOptions options, IReadableConfiguration configuration)
|
||||
private ApiResponse<T> Exec<T>(RestRequest request, RequestOptions options, IReadableConfiguration configuration)
|
||||
{
|
||||
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
|
||||
|
||||
@@ -460,25 +455,24 @@ namespace Org.OpenAPITools.Client
|
||||
RemoteCertificateValidationCallback = configuration.RemoteCertificateValidationCallback
|
||||
};
|
||||
|
||||
RestClient client = new RestClient(clientOptions)
|
||||
.UseSerializer(() => new CustomJsonCodec(SerializerSettings, configuration));
|
||||
RestClient client = new RestClient(clientOptions,
|
||||
configureSerialization: serializerConfig => serializerConfig.UseSerializer(() => new CustomJsonCodec(SerializerSettings, configuration)));
|
||||
|
||||
InterceptRequest(req);
|
||||
InterceptRequest(request);
|
||||
|
||||
RestResponse<T> response;
|
||||
if (RetryConfiguration.RetryPolicy != null)
|
||||
{
|
||||
var policy = RetryConfiguration.RetryPolicy;
|
||||
var policyResult = policy.ExecuteAndCapture(() => client.Execute(req));
|
||||
response = (policyResult.Outcome == OutcomeType.Successful) ? client.Deserialize<T>(policyResult.Result) : new RestResponse<T>
|
||||
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
|
||||
response = (policyResult.Outcome == OutcomeType.Successful) ? client.Deserialize<T>(policyResult.Result) : new RestResponse<T>(request)
|
||||
{
|
||||
Request = req,
|
||||
ErrorException = policyResult.FinalException
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
response = client.Execute<T>(req);
|
||||
response = client.Execute<T>(request);
|
||||
}
|
||||
|
||||
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
|
||||
@@ -506,7 +500,7 @@ namespace Org.OpenAPITools.Client
|
||||
response.Data = (T)(object)response.Content;
|
||||
}
|
||||
|
||||
InterceptResponse(req, response);
|
||||
InterceptResponse(request, response);
|
||||
|
||||
var result = ToApiResponse(response);
|
||||
if (response.ErrorMessage != null)
|
||||
@@ -543,7 +537,7 @@ namespace Org.OpenAPITools.Client
|
||||
return result;
|
||||
}
|
||||
|
||||
private async Task<ApiResponse<T>> ExecAsync<T>(RestRequest req, RequestOptions options, IReadableConfiguration configuration, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
|
||||
private async Task<ApiResponse<T>> ExecAsync<T>(RestRequest request, RequestOptions options, IReadableConfiguration configuration, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
|
||||
{
|
||||
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
|
||||
|
||||
@@ -556,25 +550,24 @@ namespace Org.OpenAPITools.Client
|
||||
UseDefaultCredentials = configuration.UseDefaultCredentials
|
||||
};
|
||||
|
||||
RestClient client = new RestClient(clientOptions)
|
||||
.UseSerializer(() => new CustomJsonCodec(SerializerSettings, configuration));
|
||||
RestClient client = new RestClient(clientOptions,
|
||||
configureSerialization: serializerConfig => serializerConfig.UseSerializer(() => new CustomJsonCodec(SerializerSettings, configuration)));
|
||||
|
||||
InterceptRequest(req);
|
||||
InterceptRequest(request);
|
||||
|
||||
RestResponse<T> response;
|
||||
if (RetryConfiguration.AsyncRetryPolicy != null)
|
||||
{
|
||||
var policy = RetryConfiguration.AsyncRetryPolicy;
|
||||
var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(req, ct), cancellationToken).ConfigureAwait(false);
|
||||
response = (policyResult.Outcome == OutcomeType.Successful) ? client.Deserialize<T>(policyResult.Result) : new RestResponse<T>
|
||||
var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
|
||||
response = (policyResult.Outcome == OutcomeType.Successful) ? client.Deserialize<T>(policyResult.Result) : new RestResponse<T>(request)
|
||||
{
|
||||
Request = req,
|
||||
ErrorException = policyResult.FinalException
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
response = await client.ExecuteAsync<T>(req, cancellationToken).ConfigureAwait(false);
|
||||
response = await client.ExecuteAsync<T>(request, cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
|
||||
@@ -591,7 +584,7 @@ namespace Org.OpenAPITools.Client
|
||||
response.Data = (T)(object)response.RawBytes;
|
||||
}
|
||||
|
||||
InterceptResponse(req, response);
|
||||
InterceptResponse(request, response);
|
||||
|
||||
var result = ToApiResponse(response);
|
||||
if (response.ErrorMessage != null)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="JsonSubTypes" Version="2.0.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="RestSharp" Version="108.0.3" />
|
||||
<PackageReference Include="RestSharp" Version="110.2.0" />
|
||||
<PackageReference Include="Polly" Version="7.2.3" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user