Middleware(中间件)

我们把返回 Response 的基本单元称为 HandlerMiddleware 会在 Handler 执行的前后运行,用于处理 RequestResponse。它的结构就像一个洋葱一样层层包裹。

Middleware - 图1

例如,我们可以这样编写一个中间件,为响应添加 “X-Response-Time” 头:

  1. app.use(async (c, next) => {
  2. const start = Date.now()
  3. await next()
  4. const end = Date.now()
  5. c.res.headers.set('X-Response-Time', `${end - start}`)
  6. })

通过这种简单的方式,我们可以编写自定义的 middleware,也可以使用内置或第三方的 middleware。