eITs.Rest.Client 1.1.0
Modern REST client with MessagePack and JSON serialization, IHttpClientFactory integration, RFC 9457 problem-details parsing, and backward-compatible IGenericRest interface.
No packages depend on eITs.Rest.Client.
1.1.0 — Driven by Dreamgrade.PackingStation 1.0.93 adoption. Additive — no breaking changes.
- NEW: RestProblemDetails model + RestError.Problem property. RestClient.HandleResponseAsync now parses RFC 9457 problem-details responses (application/problem+json, or application/json with title/detail/status fields) into a typed shape. Consumers can prefer Error.Problem?.Title and Error.Problem?.Detail over regex / JSON-parse on Error.Detail.
- NEW: RestError.OriginalException property. RestResponse.Exception(ex) now preserves the original exception so consumers can
is-check for typed exceptions thrown by their own DelegatingHandler chain (e.g. OIDC sign-in-required scenarios) rather than string-sniffing Error.Detail. - NEW: AddEitsRestClient(IContentSerializer instance, ...) DI overload. Lets consumers register a pre-constructed serializer (most commonly a MessagePackContentSerializer with custom MessagePackSerializerOptions like .WithSecurity(MessagePackSecurity.UntrustedData)) without bypassing the convenience extension. The original
where TSerializer : new()overload is retained for backward compatibility. - Raw response body remains available via RestError.Detail for non-problem-shaped responses (HTML error pages, plain text, etc.) — existing behaviour preserved.
1.0.0 — Initial release — replaces WZHi.Rest.Client and Eits.WZHi.Generic.Rest.
.NET 10.0
- MessagePack (>= 3.1.4)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Http (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)