/Knowledge/sources/honojs__hono/llms-full/middleware--45957f1e12ab.md

Middleware - hono-docs

Middleware Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono.dev/llms full.txt middleware Summary We call the primitive th...

Middleware

Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#middleware

Summary

We call the primitive that returns Response as "Handler". "Middleware" is executed before and after the Handler and handles the Request and Response. It's like an onion structure. For example, we can write th...

Content

We call the primitive that returns Response as "Handler". "Middleware" is executed before and after the Handler and handles the Request and Response. It's like an onion structure.

For example, we can write the middleware to add the "X-Response-Time" header as follows.

import { Hono } from 'hono'
const app = new Hono()
// ---cut---
app.use(async (c, next) => {
  const start = performance.now()
  await next()
  const end = performance.now()
  c.res.headers.set('X-Response-Time', `${end - start}`)
})

With this simple method, we can write our own custom middleware and we can use the built-in or third party middleware.

Metadata

{
  "chunk_index": 0,
  "citation": "https://hono.dev/llms-full.txt#middleware",
  "coverage_role": "overview",
  "qualified_title": "Hono / llms-full / Middleware",
  "retrieved_at": "2026-07-02T05:51:01Z",
  "section_index": 549,
  "source_id": "/honojs/hono",
  "source_type": "llms_full",
  "target_label": "llms-full",
  "title": "Middleware",
  "upstream_url": "https://hono.dev/llms-full.txt",
  "version": "2026"
}
Kinic Wiki
Loading knowledge node
Details

Identity

database
db_23dhmsxlhukv
database_id
db_23dhmsxlhukv
path
/Knowledge/sources/honojs__hono/llms-full/middleware--45957f1e12ab.md
kind
directory
role
markdown_note
children
0

Metadata

created_at
virtual
updated_at
virtual
etag
virtual
metadata_json
{}

Lint Hints

No lightweight warnings.

Outgoing Links

No outgoing links indexed.

Incoming Links

Select a file node to inspect backlinks.

Raw Source

No raw source path inferred.