OOrveth

Documentation

Middleware

Compose middleware with improved lifecycle and explicit next().

Middleware runs in registration order. Each function receives (ctx, next) and must call await next() to continue unless it ends the request. Phase 1 improves lifecycle consistency around routing and error handling.

logging.ts
app.use(async (ctx, next) => {
  const start = Date.now();
  const response = await next();
  console.log(ctx.method, ctx.path, Date.now() - start, "ms");
  return response;
});

Common middleware packages

security-stack.ts
import { cors } from "@orveth/cors";
import { requestId, securityHeaders } from "@orveth/security";

app.use(cors());
app.use(requestId());
app.use(securityHeaders());