Middleware functions run between receiving a request and sending a response. They have access to req, res, and next.
// A middleware logs every request
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`)
next() // pass to the next handler
})Order matters — Express executes middleware in the order it is registered.
Built-in middleware
app.use(express.json()) // parse JSON bodies
app.use(express.urlencoded()) // parse form dataRoute-specific middleware
function requireAuth(req, res, next) {
if (!req.headers.authorization) {
return res.status(401).json({ error: 'Unauthorized' })
}
next()
}
// ...Middleware functions run between receiving a request and sending a response. They have access to req, res, and next.
// A middleware logs every request
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`)
next() // pass to the next handler
})Order matters — Express executes middleware in the order it is registered.
Built-in middleware
app.use(express.json()) // parse JSON bodies
app.use(express.urlencoded()) // parse form dataRoute-specific middleware
function requireAuth(req, res, next) {
if (!req.headers.authorization) {
return res.status(401).json({ error: 'Unauthorized' })
}
next()
}
// ...