Interface IBowireEndpointContribution
- Namespace
- Kuestenlogik.Bowire.Plugins
- Assembly
- Kuestenlogik.Bowire.dll
Contract a Bowire-sibling package implements to splice extra ASP.NET
endpoints into the workbench's auth-gated route group at
MapBowire() time (#325, v2.1).
public interface IBowireEndpointContribution
Remarks
Introduced when Welle 2 of the v2.1 package cleanup lifted the
interceptor surface (the /api/intercepted/* + /api/tools/reverse-
proxy/* endpoints) out of Core into
Kuestenlogik.Bowire.Interceptor. Core no longer references
those endpoint types directly — instead it discovers every public
implementation of this interface from loaded
Kuestenlogik.Bowire.* assemblies and invokes
MapEndpoints(IEndpointRouteBuilder, string) on each so the package owns its own
mount.
Implementations must have a parameterless constructor; Core
instantiates them via Activator.CreateInstance during the
MapBowire pass. Failure to map (any exception escaping
MapEndpoints(IEndpointRouteBuilder, string)) is logged and swallowed so one
misbehaving package can't take down host startup — same posture as
the rail / module / protocol auto-discovery surfaces.
The endpoints land inside Core's auth-gated route group so a host
that opts into AddBowireAuth(...) automatically gates this
package's admin surface too.
Methods
MapEndpoints(IEndpointRouteBuilder, string)
Map this contribution's endpoints. Called once per host startup
from BowireApiEndpoints.MapBowire.
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).