Winglet.Client
0.1.0
See the version list below for details.
dotnet add package Winglet.Client --version 0.1.0
NuGet\Install-Package Winglet.Client -Version 0.1.0
<PackageReference Include="Winglet.Client" Version="0.1.0" />
<PackageVersion Include="Winglet.Client" Version="0.1.0" />
<PackageReference Include="Winglet.Client" />
paket add Winglet.Client --version 0.1.0
#r "nuget: Winglet.Client, 0.1.0"
#:package Winglet.Client@0.1.0
#addin nuget:?package=Winglet.Client&version=0.1.0
#tool nuget:?package=Winglet.Client&version=0.1.0
Winglet.Client
Winglet.Client is the small shared HTTP infrastructure for maintained
Winglet service-owned typed clients. A service package owns its semantic
operations, routes and Contracts DTOs, then composes this package for common
endpoint configuration, authentication, error handling, resilience and
optional logical correlation.
Registration
Service packages register their typed client and select the service key and wire profile:
services.AddHttpClient<IPartyClient, PartyClient>()
.AddWingletClientInfrastructure(
configuration,
"Party",
WingletRemoteContractProfile.Canonical);
The endpoint is deployment configuration under:
Winglet:Clients:Party:BaseUrl
It must be an absolute HTTP or HTTPS URI without embedded credentials. A reverse-proxy path prefix belongs in the configured URL when deployment requires one.
Boundaries
The package exposes an outbound IWingletClientTokenProvider boundary. A
service operation marks its required service-only or on-behalf-of token
semantics using WingletClientRequestOptions; the application caller does not
choose authentication mode at each call site. The package never parses JWTs
or forwards an inbound bearer token implicitly.
Canonical Problem Details failures are exposed as
WingletRemoteApiException, while transport failures and malformed protocol
responses use WingletTransportException and WingletProtocolException.
LegacyErrorEnvelope is a contained compatibility profile for the known
legacy { error, message, details, correlationId } shape. It does not invent a
stable code when the legacy response does not provide one.
The standard .NET HTTP resilience pipeline uses bounded timeouts and transient
retries for safe methods. Unsafe methods such as POST and PATCH are excluded
from blind automatic retry. Technical tracing remains native HttpClient /
Activity / W3C propagation. X-Correlation-Id is sent only when an
application-provided IWingletCorrelationIdAccessor has a logical correlation
value; X-Request-Id is not generated.
This package is not a universal client, service registry, generated-client framework, JWT/authentication authority, tracing framework or business orchestration layer. It is deliberately independent of the implementation language of the target service.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Http.Resilience (>= 10.1.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.11)
NuGet packages (12)
Showing the top 5 NuGet packages that depend on Winglet.Client:
| Package | Downloads |
|---|---|
|
Winglet.Authentication
Shared Winglet.NET authentication and trusted request-context integration. |
|
|
Winglet.Auth.Client
Package Description |
|
|
Winglet.Messenger.Client
Typed Winglet.NET Messenger service client. |
|
|
Winglet.Party.Client
Typed Winglet.NET Party API v1 HTTP client. |
|
|
Winglet.CustomerAccount.Client
Typed Winglet.NET CustomerAccount API v1 HTTP client. |
GitHub repositories
This package is not used by any popular GitHub repositories.