🥇 Creando un middleware.

Los middleware personalizados son sencillos de crear debido que en realidad solo son una función.

Mediante una variable de referencia.

const miMiddleware = (req, res, next) => {
    ...
    next();
}
app.use(miMiddleware);

Directamente.

app.use((req, res, next) => {
    ...
    next();
});

La primera opción es mejor, ya que permite modularizar y desacoplar el uso del middleware.

🍿 Enviando referencias.

request es siempre el mismo objeto a través de todo el ciclo de vida de una petición. Esto permite utilizar un patrón muy útil en el cual los desarrolladores pueden pasar datos desde un middleware a otro y a un request handler.

Por ejemplo, los desarrolladores pueden conectar a una base de datos en un middleware, y esta referencia se mantendrá disponible en los middleware subsecuentes y manejadores de rutas.

app.use((req, res, next()) => {
    database.connect('dsn', (err, db) => {
        ...
        req.db = db;
        next();
    });
})
app.use((req, res, next()) => {
    req.db.collection('usuarios').find({ active: true }, (err, app) => {
        next();
    }).
})
Middlewares Body Parser (La librería npm bodyparser y ejemplos de su uso)
comments powered by Disqus