ToolUp.Platform.Transport
0.37.0
Prefix Reserved
dotnet add package ToolUp.Platform.Transport --version 0.37.0
NuGet\Install-Package ToolUp.Platform.Transport -Version 0.37.0
<PackageReference Include="ToolUp.Platform.Transport" Version="0.37.0" />
<PackageVersion Include="ToolUp.Platform.Transport" Version="0.37.0" />
<PackageReference Include="ToolUp.Platform.Transport" />
paket add ToolUp.Platform.Transport --version 0.37.0
#r "nuget: ToolUp.Platform.Transport, 0.37.0"
#:package ToolUp.Platform.Transport@0.37.0
#addin nuget:?package=ToolUp.Platform.Transport&version=0.37.0
#tool nuget:?package=ToolUp.Platform.Transport&version=0.37.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.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. |
|
|
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. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.37.0 | 204 | 10/29/2026 |
| 0.36.0 | 466 | 10/29/2026 |
| 0.35.0 | 617 | 10/28/2026 |
| 0.34.1 | 1,014 | 10/27/2026 |
| 0.34.0 | 1,279 | 10/26/2026 |
| 0.33.0 | 1,433 | 10/25/2026 |
| 0.32.0 | 1,436 | 10/24/2026 |
| 0.31.0 | 1,462 | 10/22/2026 |
| 0.30.0 | 1,403 | 10/20/2026 |
| 0.29.0 | 1,424 | 10/19/2026 |
| 0.28.0 | 1,332 | 10/19/2026 |
| 0.27.0 | 1,361 | 10/16/2026 |
| 0.26.0 | 1,401 | 10/12/2026 |
| 0.25.1 | 1,352 | 10/9/2026 |
| 0.24.1 | 1,347 | 10/6/2026 |