/Knowledge/sources/honojs__hono/llms-full/middleware-definition-of-middleware--1bc836925982.md
Middleware: Definition of Middleware - hono-docs
Middleware: Definition of Middleware Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono.dev/llms full.txt definition of mid...
Middleware: Definition of Middleware
Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#definition-of-middleware
Summary
- Handler - should return
Responseobject. Only one handler will be called. - Middleware - shouldawait next()and return nothing to call the next Middleware, or return aResponseto early-exit. The user can register middleware...
Content
- Handler - should return
Responseobject. Only one handler will be called. - Middleware - should
await next()and return nothing to call the next Middleware, or return aResponseto early-exit.
The user can register middleware using app.use or using app.HTTP_METHOD as well as the handlers. For this feature, it's easy to specify the path and the method.
// match any method, all routes
app.use(logger())
// specify path
app.use('/posts/*', cors())
// specify method and path
app.post('/posts/*', basicAuth())
If the handler returns Response, it will be used for the end-user and will stop processing.
app.post('/posts', (c) => c.text('Created!', 201))
In this case, four middleware are processed before dispatching like this:
logger() -> cors() -> basicAuth() -> *handler*
Metadata
{
"chunk_index": 0,
"citation": "https://hono.dev/llms-full.txt#definition-of-middleware",
"coverage_role": "overview",
"qualified_title": "Hono / llms-full / Middleware > Definition of Middleware",
"retrieved_at": "2026-07-02T05:51:01Z",
"section_index": 112,
"source_id": "/honojs/hono",
"source_type": "llms_full",
"target_label": "llms-full",
"title": "Middleware: Definition of Middleware",
"upstream_url": "https://hono.dev/llms-full.txt",
"version": "2026"
}