Class BowireFlowDataEndpoints
- Namespace
- Kuestenlogik.Bowire.Flows
- Assembly
- Kuestenlogik.Bowire.Flows.dll
Row expansion for a data-driven Flow step (#174), so the in-browser
runner gets the same rows bowire test would.
public sealed class BowireFlowDataEndpoints : IBowireEndpointContribution
- Inheritance
-
BowireFlowDataEndpoints
- Implements
- Inherited Members
Remarks
The step's data block is authored in the workbench and was
consumed only by the CLI: the in-browser runner ignored it, so a
parameterised step ran once with its placeholders unresolved and
looked like it had passed. Expanding here rather than in JavaScript
keeps one implementation of what a row is — the generator's arithmetic,
the CSV dialect, the label column, the 100k ceiling — instead of a
second one that drifts.
A CSV source resolves relative to the flow file, and a workbench flow
has none: it lives inside the workspace's flows.json. Rather
than invent a base directory, a CSV row source is refused here with
that reason; inline rows and generators, which are self-contained, work
everywhere.
This used to cite #97 as what CSV was waiting for. That was wrong -- #97 closed in August and was about a migration dialog. A workspace flow now has a resolvable file (#365), so a base directory for CSV is available and the refusal is a decision waiting to be revisited rather than a wall.
Constructors
BowireFlowDataEndpoints()
public BowireFlowDataEndpoints()
Methods
MapEndpoints(IEndpointRouteBuilder, string)
Map this contribution's endpoints. Called once per host startup
from BowireApiEndpoints.MapBowire.
public void MapEndpoints(IEndpointRouteBuilder endpoints, string basePath)
Parameters
endpointsIEndpointRouteBuilderThe auth-gated IEndpointRouteBuilder group every workbench feature endpoint lives under.
basePathstringThe URL fragment every route is anchored under (e.g.
/bowirefor embedded hosts, empty for the standalone CLI).