FluxFlow.Components.Http
1.2.0
See the version list below for details.
dotnet add package FluxFlow.Components.Http --version 1.2.0
NuGet\Install-Package FluxFlow.Components.Http -Version 1.2.0
<PackageReference Include="FluxFlow.Components.Http" Version="1.2.0" />
<PackageVersion Include="FluxFlow.Components.Http" Version="1.2.0" />
<PackageReference Include="FluxFlow.Components.Http" />
paket add FluxFlow.Components.Http --version 1.2.0
#r "nuget: FluxFlow.Components.Http, 1.2.0"
#:package FluxFlow.Components.Http@1.2.0
#addin nuget:?package=FluxFlow.Components.Http&version=1.2.0
#tool nuget:?package=FluxFlow.Components.Http&version=1.2.0
FluxFlow.Components.Http
Reusable HTTP request components for FluxFlow.
Nodes
| Node type | Shape | Purpose |
|---|---|---|
http.request |
Input → Output, Errors |
Sends HTTP requests and emits typed responses or request errors. |
HTTP Request
{
"type": "http.request",
"name": "call-api",
"baseUrl": "https://example.test",
"defaultTimeoutMilliseconds": 30000,
"maxResponseBodyBytes": 1048576,
"followRedirects": true,
"treatNonSuccessStatusAsError": false,
"boundedCapacity": 128
}
http.request consumes HttpRequestInput values and emits
HttpResponseOutput values. Network, timeout, cancellation, invalid URL, and
body size failures are emitted through HttpErrorOutput on the Errors port.
The node continues processing later messages after a per-message failure.
Non-success status codes do not fault the node. Responses are emitted with
Success = false. When treatNonSuccessStatusAsError is enabled, the response
is still emitted and a matching error item is also emitted.
Security
By default the node accepts any absolute per-message URL, which preserves 1.x
behavior. Hosts that process untrusted message URLs should restrict where
requests can go, because defaultHeaders (often credentials) are attached to
every request:
{
"type": "http.request",
"baseUrl": "https://api.internal.example",
"restrictToBaseUrlOrigin": true,
"allowedHosts": [ "api.internal.example", ".internal.example" ]
}
allowedHosts(default empty = allow all): when non-empty, the resolved absolute URL host must match one entry. Entries match case-insensitively, either exactly or as a leading-dot suffix such as.internal.example.restrictToBaseUrlOrigin(defaultfalse): whentrue, absolute message URLs must match thebaseUrlscheme, host, and port.
Violations are reported per message through the Errors port with kind
UrlNotAllowed and the message is dropped. Header names and values containing
CR, LF, or NUL characters are also rejected per message before the request is
sent.
Runtime Timing
Responses and request errors use the package clock for timestamps and elapsed milliseconds. Existing callers use the default system clock. Hosts and tests can provide a deterministic clock through registration:
registry.RegisterHttpComponents(options => options
.UseClock(httpClock));
Sender Ownership
The package includes a default per-node sender. Hosts that need named clients,
shared clients, custom authentication, tracing, proxy settings, deterministic
time, or test doubles can provide IHttpRequestSenderFactory through
registration:
registry.RegisterHttpComponents(options => options
.UseClock(httpClock)
.UseRequestSenderFactory(myFactory));
The sender factory receives the resolved node options and configured clock. The package disposes senders it creates through the configured factory.
Design Metadata
This package exposes a package-owned IComponentDesignMetadataProvider for its
node types. Hosts can compose it through ComponentDesignMetadataCatalog to
populate palettes, editors, validation views, and documentation without
duplicating package descriptors.
Composition Guidance
Use this package as one part of a host-composed graph. See Component Composition for recommended host boundaries, package boundaries, and extraction timing.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- FluxFlow.Components.Designer (>= 1.0.1)
- FluxFlow.Engine (>= 1.1.0)
-
net8.0
- FluxFlow.Components.Designer (>= 1.0.1)
- FluxFlow.Engine (>= 1.1.0)
- System.Threading.Tasks.Dataflow (>= 9.0.4)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on FluxFlow.Components.Http:
| Package | Downloads |
|---|---|
|
FluxFlow.Components.Http.AspNetCore
ASP.NET Core HTTP trigger adapter for FluxFlow: maps an endpoint's HttpContext onto the request/reply bridge so an inbound request flows into a graph and the correlated response is written back. The only FluxFlow package that references ASP.NET Core. |
|
|
FluxFlow.Components.Http.Composition
Canonical HTTP FlowContent/result registration and Designer metadata over host-owned keyed HttpClient resources. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 7.0.0-rc.1 | 84 | 9/5/2026 |
| 6.0.0 | 232 | 8/3/2026 |
| 3.0.2 | 146 | 7/3/2026 |
| 3.0.1 | 207 | 7/2/2026 |
| 3.0.0 | 148 | 6/19/2026 |
| 2.0.0 | 137 | 6/18/2026 |
| 1.2.1 | 120 | 6/15/2026 |
| 1.2.0 | 419 | 6/12/2026 |
| 1.1.0 | 118 | 6/5/2026 |
| 1.0.0 | 117 | 6/4/2026 |
| 0.2.0-alpha.1 | 247 | 6/2/2026 |
| 0.1.1-alpha.1 | 91 | 6/2/2026 |
| 0.1.0-alpha.1 | 101 | 6/1/2026 |
Adds allowedHosts and restrictToBaseUrlOrigin options so hosts can restrict per-message request destinations (SSRF hardening; defaults preserve existing behavior). Header names/values containing CR/LF/NUL are rejected before sending, and a pooled connection lifetime ensures DNS changes are observed.