Request Data in Hono
From the Hono cheat sheet · Context & Request · verified Jul 2026
Request Data
Access query params, headers, body, and more
typescript
// Query parameters
app.get('/search', (c) => {
const query = c.req.query('q') // single
const all = c.req.queries('tags') // array
return c.json({ query, all })
})
// Headers
app.get('/auth', (c) => {
const auth = c.req.header('Authorization')
const userAgent = c.req.header('User-Agent')
return c.json({ auth, userAgent })
})
// Body parsing
app.post('/users', async (c) => {
const body = await c.req.json() // JSON
const form = await c.req.formData() // FormData
const text = await c.req.text() // Raw text
return c.json(body)
})💡 c.req.query() for single, c.req.queries() for arrays
⚡ Body methods are async: await c.req.json()
📌 Headers are case-insensitive
🎯 Use getCookie from "hono/cookie" for cookies