diff --git a/src/cli/Pruna.CLI/CliRuntime.cs b/src/cli/Pruna.CLI/CliRuntime.cs index f15c637..bac1eb5 100644 --- a/src/cli/Pruna.CLI/CliRuntime.cs +++ b/src/cli/Pruna.CLI/CliRuntime.cs @@ -355,9 +355,10 @@ public static TimeSpan ParseDuration(string value, string optionName) public static T DeserializeJsonValue(string json, JsonSerializerContext context) { - _ = context; - return JsonSerializer.Deserialize(json) ?? - throw new CliException($"Unable to deserialize generated CLI value as {typeof(T).Name}."); + var value = JsonSerializer.Deserialize(json, typeof(T), context); + return value is T typed + ? typed + : throw new CliException($"Unable to deserialize generated CLI value as {typeof(T).Name}."); } public static string SerializeKeyValuePairs(IEnumerable pairs) diff --git a/src/libs/Pruna/Generated/Pruna.JsonSerializerContext.g.cs b/src/libs/Pruna/Generated/Pruna.JsonSerializerContext.g.cs index d304e00..70546c9 100644 --- a/src/libs/Pruna/Generated/Pruna.JsonSerializerContext.g.cs +++ b/src/libs/Pruna/Generated/Pruna.JsonSerializerContext.g.cs @@ -1,14 +1,12 @@ #nullable enable -#pragma warning disable CS0618 // Type or member is obsolete -#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant - namespace Pruna { /// /// /// + #pragma warning disable CS3016 // Converter type array in this attribute is not CLS-compliant. [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, Converters = new global::System.Type[] @@ -27,6 +25,7 @@ namespace Pruna typeof(global::Pruna.JsonConverters.UnixTimestampJsonConverter), })] + #pragma warning restore CS3016 [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Pruna.JsonSerializerContextTypes))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), TypeInfoPropertyName = "SystemCollectionsGeneric_ObjectList")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Pruna.ModelId), TypeInfoPropertyName = "ModelId2")] diff --git a/src/libs/Pruna/Generated/Pruna.OptionsSupport.g.cs b/src/libs/Pruna/Generated/Pruna.OptionsSupport.g.cs index 68f3871..be6ef96 100644 --- a/src/libs/Pruna/Generated/Pruna.OptionsSupport.g.cs +++ b/src/libs/Pruna/Generated/Pruna.OptionsSupport.g.cs @@ -241,7 +241,8 @@ public sealed class AutoSDKAuthorizationProviderHook : global::Pruna.AutoSDKHook { context = context ?? throw new global::System.ArgumentNullException(nameof(context)); - if (context.Request == null) + var request = context.Request; + if (request == null) { return; } @@ -251,10 +252,10 @@ public sealed class AutoSDKAuthorizationProviderHook : global::Pruna.AutoSDKHook { for (var index = 0; index < perRequest.Count; index++) { - ApplyAuthorization(context.Request, perRequest[index]); + ApplyAuthorization(request, perRequest[index]); } - global::Pruna.AutoSDKHttpRequestOptions.StampAuthorizationOverride(context.Request); + global::Pruna.AutoSDKHttpRequestOptions.StampAuthorizationOverride(request); return; } @@ -272,10 +273,10 @@ public sealed class AutoSDKAuthorizationProviderHook : global::Pruna.AutoSDKHook for (var index = 0; index < resolved.Count; index++) { - ApplyAuthorization(context.Request, resolved[index]); + ApplyAuthorization(request, resolved[index]); } - global::Pruna.AutoSDKHttpRequestOptions.StampAuthorizationOverride(context.Request); + global::Pruna.AutoSDKHttpRequestOptions.StampAuthorizationOverride(request); } private static void ApplyAuthorization( @@ -486,7 +487,7 @@ public sealed class AutoSDKHookContext /// /// The outgoing HTTP request for the current attempt. /// - public global::System.Net.Http.HttpRequestMessage Request { get; set; } = null!; + public global::System.Net.Http.HttpRequestMessage? Request { get; set; } /// /// The HTTP response when one was received. @@ -501,7 +502,7 @@ public sealed class AutoSDKHookContext /// /// The client-wide runtime options. /// - public global::Pruna.AutoSDKClientOptions ClientOptions { get; set; } = null!; + public global::Pruna.AutoSDKClientOptions? ClientOptions { get; set; } /// /// The per-request runtime options.