.use(...) accepts native oRPC middleware, Effect generator middleware, and middleware callbacks that return an Effect.
Use Effect middleware when the middleware needs Effect services, Effect errors, or Effect control flow.
Gate middleware
A gate runs checks and lets the pipeline continue automatically.gate.ts
Wrap middleware
A wrap callsnext(...) explicitly and returns its result.
wrap.ts
Transform output
output-transform.ts
Effect-returning middleware
Effect-returning middleware can useEffect.fn(...) or return Effect.gen(...) directly.
effect-returning.ts
void; the pipeline continues automatically.
Reusable Effect middleware
Use.middleware(...) to define Effect middleware once and pass it to .use(...).
reusable.ts
Native oRPC middleware still works
native.ts
Native middleware can split contiguous Effect runtime boundaries. If you need
request-local
FiberRef continuity across those boundaries in Node, see Node
fiber context bridge.