-
Notifications
You must be signed in to change notification settings - Fork 0
Home

Another weapon from the MSL Armory
Middleware pipelines for host-free .NET projects. The same shape ASP.NET Core gives web apps — request, response, a chain of steps with DI and configuration — for console apps, AWS Lambdas, Azure Functions, queue consumers, file processors, and anything else that lives outside a host.
dotnet add package MSL.Plumber.Pipelineusing Plumber;
using var handler = RequestHandlerBuilder
.Create<string, string>()
.Build();
handler.Use((context, next) =>
{
context.Response = $"Hello, {context.Request}!";
return next(context);
});
var greeting = await handler.InvokeAsync("World");
Console.WriteLine(greeting); // Hello, World!New to middleware pipelines? Start with the Concepts page — it explains the mental model from scratch, then walks through a realistic build in the Tutorial, and finishes with a guided tour of the Sample.Cli walkthrough.
Already familiar with the shape (ASP.NET Core middleware, MediatR, similar)? Jump into Building a Pipeline, then Middleware and Request Lifecycle.
Looking for a specific scenario? The Recipes section has full walkthroughs:
- AWS Lambda — API Gateway HTTP
- AWS Lambda — SQS event source
- Azure Functions — HTTP trigger
- SQS polling consumer (console)
- ASP.NET Core integration (host-mode)
- Generic Host BackgroundService worker
- Webhook receiver (minimal API)
- Multi-command CLI dispatcher
- File watcher / batch processor
Migrating from v2.x? See Migration. v3 reshaped the public API around concrete types and explicit configuration; the page covers each break with before/after.
These pages document Plumber v3.x. The v2.x README is preserved on the v2.3.3 release tag for anyone still on the previous line.
Plumber targets .NET 10. The README in the repository root is the canonical short-form reference; this wiki expands on it with beginner content, recipes, and per-type API reference.
Documents Plumber v3.x · Repository · MIT License · Report an issue
Getting Started
Reference
- Building a pipeline
- Middleware
- Request lifecycle
- Testing
- PlumberApplicationFactory
- Advanced
- FAQ
- Migration
Recipes
- AWS Lambda — API Gateway
- AWS Lambda — SQS
- Azure Functions — HTTP
- SQS polling console
- ASP.NET Core integration
- BackgroundService worker
- Webhook receiver
- Multi-command CLI
- File watcher