ToolUp.Platform.Transport
0.26.0
Prefix Reserved
dotnet add package ToolUp.Platform.Transport --version 0.26.0
NuGet\Install-Package ToolUp.Platform.Transport -Version 0.26.0
<PackageReference Include="ToolUp.Platform.Transport" Version="0.26.0" />
<PackageVersion Include="ToolUp.Platform.Transport" Version="0.26.0" />
<PackageReference Include="ToolUp.Platform.Transport" />
paket add ToolUp.Platform.Transport --version 0.26.0
#r "nuget: ToolUp.Platform.Transport, 0.26.0"
#:package ToolUp.Platform.Transport@0.26.0
#addin nuget:?package=ToolUp.Platform.Transport&version=0.26.0
#tool nuget:?package=ToolUp.Platform.Transport&version=0.26.0
ToolUp.Platform.Transport
The lowest tier of the ToolUp SDK: the portable outbound HTTP seam and the
retry discipline every outbound caller shares. It depends on FSharp.Core
only and compiles to both .NET and Fable, so one mapping
serves a server host and a browser host.
What it gives you
- The seam —
HttpRequest/HttpResponse(host-agnostic records) andIHttpTransport(oneSend: HttpRequest -> Async<HttpResponse>). A host injects how bytes travel: on the server,HttpClientTransportinToolUp.Platform.Serverover a BCLHttpClient; in a browser,fetch. RetryPolicy— the SDK's unified retry policy as data (MaxAttempts,InitialBackoff,MaxBackoff,Timeout) withRetryPolicy.delayForandRetryPolicy.clampTimeoutMs.TransportError+TransportClassifier— the failure taxonomy:Network,Transient(429 / 5xx, with the provider'sRetry-After),Permanent,Refused(a local budget said no),Exhausted.TransportRetry— the generic retry loop (runWithover any error type,runoverTransportError), andHttpCall— one classified call under a policy.
Example
open ToolUp.Platform.Transport
let fetchItems (transport: IHttpTransport) =
HttpCall.send RetryPolicy.defaults transport (HttpCall.get "/v1/items" [ "Accept", "application/json" ])
Retry is data, never a callback (GP 12 rule 3). Domain taxonomies — the AI
provider error type, for one — are projections of TransportClassifier, so
the classification rule exists once.
| 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
- FSharp.Core (>= 10.1.300)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on ToolUp.Platform.Transport:
| Package | Downloads |
|---|---|
|
ToolUp.AI.Wire
ToolUp.AI.Wire — a portable, Fable-compilable JSON value model: a JsonValue DU with ergonomic builders + total (never-throwing) accessors, and a host-bridged serialization seam (browser JSON under Fable, System.Text.Json on .NET) with byte-stable object key order. Neutral wire-mapping substrate shared by server and browser hosts. FSharp.Core + Fable.Core only — no System.Net.Http, no unguarded System.Text.Json. |
|
|
ToolUp.Platform.Core
ToolUp.Platform Core — shared types and interfaces (ILogger, IBlobStorage, IAuthProvider, IAIProvider, INotificationChannel, IHealthCheck, IConfigValidator, etc.). No server or client deps; the "minimum viable module" floor for downstream packages. |
GitHub repositories
This package is not used by any popular GitHub repositories.