Manual Pipeline

Instead of creating group layouts (.MapGroup), you can define a custom specific pipeline with its own middlewares.

Manual pipelines allow a base route or prefix which can contain a wildcard for flexibility, multiple Http methods, an endpoint and multiple middlewares.

using Wired.IO.App;
using Wired.IO.Http11Express.Context;

async Task MiddlewareExample(Http11ExpressContext ctx, Func<Http11ExpressContext, Task> next)
{
    Console.WriteLine("Executing Manual Pipeline Middleware");
    await next(ctx);
}

await WiredApp
    .CreateExpressBuilder()
    .Port(8080)
    .AddManualPipeline(
    "/api*",
    [HttpConstants.Get, HttpConstants.Post, HttpConstants.Delete, HttpConstants.Put],
    ctx =>
    {
        ctx
            .Respond()
            .Type("text/plain"u8)
            .Content("Hello from manual pipeline!"u8);

        return Task.CompletedTask;
    }, [MiddlewareExample]) 
    .Build()
    .RunAsync();