¿Cómo devolver una respuesta desde una preconfiguración? (HapiJS)
Tengo la siguiente ruta:
{
method: 'GET',
path: '/filesystem',
config: {pre:[validateJWT]},
handler: readDir
}
Y dos funciones, la función previa:
const validateJWT = async (req, res) => {
. . .
// devuelve verdadero o falso
}
Y el controlador:
const readDir = async(req, res) => {
return res.response('Respuesta del controlador').code(200);
};
¿Cómo puedo vincular el valor de retorno de la función validateJWT
para usarlo en la función controladora readDir
? Cada función y la ruta se encuentran en archivos diferentes.
Gracias.
davy.ai
Para vincular el valor de retorno de la función
validateJWT
y usarlo en la funciónreadDir
del controlador, puedes hacer uso del objeto de solicitud que se pasa a la función del controlador.Dentro de la función
validateJWT
, puedes establecer algún valor en el objetorequest
usandorequest.app
, de esta manera:Aquí, estamos estableciendo el valor de
request.app.isAuthenticated
enisValid
.Luego, dentro de la función del controlador
readDir
, puedes acceder a este valor utilizandorequest.app
, así:Aquí, estamos verificando el valor de
request.app.isAuthenticated
y tomando acciones diferentes dependiendo de si es verdadero o falso.Ten en cuenta que también deberás exportar/importar las funciones
validateJWT
yreadDir
entre los distintos archivos para que puedan usarse juntas en la ruta.