FluxFlow.Components.Http.AspNetCore
1.0.5
See the version list below for details.
dotnet add package FluxFlow.Components.Http.AspNetCore --version 1.0.5
NuGet\Install-Package FluxFlow.Components.Http.AspNetCore -Version 1.0.5
<PackageReference Include="FluxFlow.Components.Http.AspNetCore" Version="1.0.5" />
<PackageVersion Include="FluxFlow.Components.Http.AspNetCore" Version="1.0.5" />
<PackageReference Include="FluxFlow.Components.Http.AspNetCore" />
paket add FluxFlow.Components.Http.AspNetCore --version 1.0.5
#r "nuget: FluxFlow.Components.Http.AspNetCore, 1.0.5"
#:package FluxFlow.Components.Http.AspNetCore@1.0.5
#addin nuget:?package=FluxFlow.Components.Http.AspNetCore&version=1.0.5
#tool nuget:?package=FluxFlow.Components.Http.AspNetCore&version=1.0.5
FluxFlow.Components.Http.AspNetCore
The ASP.NET Core HTTP trigger adapter for FluxFlow — and the only FluxFlow
package that references ASP.NET Core. An HttpTriggerNode is a component: it is given
its inbound request source (injected, keyed) and uses a
RequestReplyCoordinator<HttpTriggerRequest, HttpTriggerReply> internally to correlate
the reply back to the caller. The endpoint just feeds the keyed source.
DI composition (recommended)
builder.Services.AddFluxFlowHttpTrigger("greet", trigger =>
{
// wire your graph: trigger.Output (requests) -> ... -> trigger.Responses (replies)
var greeting = new GreetingNode();
trigger.Output.LinkTo(greeting.Input);
greeting.Output.LinkTo(trigger.Responses);
});
var app = builder.Build();
app.MapFluxFlowTrigger("/greet", "greet"); // endpoint feeds the keyed trigger by name
AddFluxFlowHttpTrigger registers a keyed request source + a keyed HttpTriggerNode
fed from it, and a hosted service that starts the trigger with the app (which wires the
graph and starts consuming) and disposes it on shutdown.
During stop the hosted lifetime completes the keyed request source before completing
the node, so late endpoint submissions are rejected instead of accepted into an
inactive trigger.
The registration validates the service collection, trigger name, and graph
configuration delegate. Trigger source capacity comes from RequestReplyOptions
and must be greater than zero.
MapFluxFlowTrigger validates the endpoint builder, route pattern, trigger name
or direct coordinator before handing the route to framework routing.
Trigger names are trimmed before keyed DI registration and endpoint lookup, so
configuration-bound names with surrounding whitespace resolve to the same
logical trigger.
Composition
This package does not expose FluxFlow.Composition node factories. It owns the
ASP.NET Core endpoint and trigger DI integration through AddFluxFlowHttpTrigger
and MapFluxFlowTrigger; the host owns the ASP.NET Core app, route selection,
request body policy, and host-owned trigger lifetime registration.
Use FluxFlow.Components.Http.Composition only for outbound http.client
composition. Config-composed inbound HTTP trigger factories are intentionally
outside this package boundary.
Without DI
For tests or manual composition, hold a coordinator and map it directly:
var coordinator = new RequestReplyCoordinator<HttpTriggerRequest, HttpTriggerReply>();
coordinator.Output.LinkTo(handler.Input);
handler.Output.LinkTo(coordinator.Responses);
app.MapFluxFlowTrigger("/hook", coordinator);
The endpoint
For each request it builds an HttpRequestContext from the HttpContext (method, path,
query, headers, body), feeds it to the trigger, and holds the response open until the
graph posts the correlated reply — which the context writes to HttpContext.Response. A
timed-out request writes 504, an unexpected failure 500, a shutting-down trigger 503.
Pass correlationHeader to seed the correlation id from an inbound trace/request id;
otherwise the coordinator mints one. All the correlation machinery lives in
FluxFlow.Components.RequestReply; this package is just the HttpContext glue.
| 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.Http (>= 3.0.2)
- FluxFlow.Components.RequestReply (>= 1.1.6)
-
net8.0
- FluxFlow.Components.Http (>= 3.0.2)
- FluxFlow.Components.RequestReply (>= 1.1.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-rc.1 | 62 | 9/5/2026 |
| 2.0.0 | 130 | 8/3/2026 |
| 1.0.5 | 123 | 7/3/2026 |
| 1.0.4 | 116 | 7/2/2026 |
| 1.0.0 | 122 | 6/19/2026 |
Adds the shared FluxFlow package icon. No source, API, or dependency changes.