diff --git a/docs/1.guide/2.routing.md b/docs/1.guide/2.routing.md index 308f0bd72d..e3f45ad4b5 100644 --- a/docs/1.guide/2.routing.md +++ b/docs/1.guide/2.routing.md @@ -266,3 +266,25 @@ export default defineNuxtConfig({ }) ``` :: + +## Object Syntax Event Handler + +H3 introduces support for defining event handlers using an Object syntax. With this approach, you can define hooks that run before or after each handler, such as authentication or compression middleware. + +```ts +const auth = defineRequestMiddleware((event) => { + event.context.auth = { name: 'admin' } +}) + +const compression = defineResponseMiddleware((event) => { + // Example: https://stackblitz.com/edit/github-mb6bz3 +}) + +export default eventHandler({ + onRequest: [auth], + onBeforeResponse: [compression], + async handler(event) { + return `Hello ${event.context.auth?.name || 'Guest'}` + }, +}) +```