Middleware de nivel de aplicación

Los middleware a nivel a aplicacion ejecutan el metodo app.use donde le pasamos req , resp y de manera opcional el next Ejemplos de codigo de middleware Ejemplo de un middleware sin ruta de montaje

var app = express()
app.use(function (req, res, next) {
  console.log('Time:', Date.now())
  next()
})

Ejemplo de middleware con punto de montaje

app.use('/user/:id', function (req, res, next) {
  console.log('Request Type:', req.method)
  next()
})

Ejemplo de middleware manejando el controlador GET

app.get('/user/:id', function (req, res, next) {
  res.send('USER')
})

Esto es un codigo de ejemplo de un middleware donde se trabaja con una subpila

app.use('/user/:id', function (req, res, next) {
  console.log('Request URL:', req.originalUrl)
  next()
}, function (req, res, next) {
  console.log('Request Type:', req.method)
  next()
})

Esto es una ejemplo de middleware donde se maneja dos rutas por medio de handler pero el segundo middleware no se podra ejecutar ya que la peticion respuesta ya se ha hecho con anterioridad

app.get('/user/:id', function (req, res, next) {
  console.log('ID:', req.params.id)
  next()
}, function (req, res, next) {
  res.send('User Info')
})
// handler for the /user/:id path, which prints the user ID
app.get('/user/:id', function (req, res, next) {
  res.end(req.params.id)
})

utilize next('route') para pasar el testigo al siguiente middleware de la pila

app.get('/user/:id', function (req, res, next) {
  // if the user ID is 0, skip to the next route
  if (req.params.id === '0') next('route')
  // otherwise pass the control to the next middleware function in this stack
  else next()
}, function (req, res, next) {
  // render a regular page
  res.render('regular')
})
// handler for the /user/:id path, which renders a special page
app.get('/user/:id', function (req, res, next) {
  res.render('special')
})

results matching ""

    No results matching ""