Themis.Inference.Remote.Http
4.1.0
dotnet add package Themis.Inference.Remote.Http --version 4.1.0
NuGet\Install-Package Themis.Inference.Remote.Http -Version 4.1.0
<PackageReference Include="Themis.Inference.Remote.Http" Version="4.1.0" />
<PackageVersion Include="Themis.Inference.Remote.Http" Version="4.1.0" />
<PackageReference Include="Themis.Inference.Remote.Http" />
paket add Themis.Inference.Remote.Http --version 4.1.0
#r "nuget: Themis.Inference.Remote.Http, 4.1.0"
#:package Themis.Inference.Remote.Http@4.1.0
#addin nuget:?package=Themis.Inference.Remote.Http&version=4.1.0
#tool nuget:?package=Themis.Inference.Remote.Http&version=4.1.0
Themis.Inference.Remote.Http
Themis.Inference.Remote.Http provides a configurable HTTP transport for decision
providers. The host supplies a protocol mapper that translates its wire
contract into and out of Themis' typed decision requests. This shared module
owns request/response dispatch, HTTP message lifetime, cancellation, status
handling, and end-to-end latency measurement; protocol adapters own their
wire schemas, validation, and answer semantics. It implements the existing
IDecisionInferenceProvider without restricting applications that implement
that interface directly with another transport.
Registration
Implement IRemoteDecisionHttpProtocol for the target service's request and
response schema, then register it with the shared decision router:
using Themis.Core;
using Themis.Core.Extensions;
using Themis.Inference.Remote.Http;
services.AddThemisRemoteHttpDecisionInference<MyDecisionHttpProtocol>()
.ConfigureHttpClient((serviceProvider, client) =>
{
client.BaseAddress = new Uri("https://inference.example/");
client.Timeout = TimeSpan.FromSeconds(30);
});
services.AddThemisDecisionRouter(new DecisionRouterOptions("model-v1")
{
RouteUnspecifiedRequestsToDefaultModel = true
});
The protocol owns request and response mapping. HTTP status failures are raised
as HttpRequestException, transport exceptions propagate unchanged, and
cancellation is forwarded to both send and response processing. Configure
authentication, retry/resilience, caching, and replay using the named
HttpClient pipeline; policy, cache keys, TTL, and invalidation remain
host-owned.
Service-specific remote packages should depend on this package and provide an
IRemoteDecisionHttpProtocol adapter rather than maintaining a parallel
IDecisionInferenceProvider HTTP lifecycle. Applications with a different
transport or a custom HTTP implementation can still implement
IDecisionInferenceProvider directly.
RPC findings
RPC is not implemented by this package. If a concrete RPC integration is
approved, keep its client lifecycle, deadlines, metadata, retry behavior, and
status/error mapping in a separate optional transport package. The existing
IDecisionInferenceProvider remains the shared decision boundary; HTTP request
and response mappers should not become an RPC abstraction. Avoid a separate
transport-neutral remote core until a demonstrated shared implementation
needs one.
| 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 (>= 10.0.13)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.13)
- Themis.Common (>= 4.1.0)
- Themis.Core (>= 4.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Themis.Inference.Remote.Http:
| Package | Downloads |
|---|---|
|
Themis.Inference.Remote.Jev
Optional Jev System One decision inference adapter using Themis' shared HTTP transport. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.1.0 | 27 | 11/2/2026 |