Node y Express Basico - Encadenando Middlewares para crear un servidor horario

Cuéntanos qué está pasando:
Hola me sale el error: El endpoint /now debe devolver la hora actual.

Este es mi código, gracias por su ayuda:
app.get(‘/now’, (req, res, next) => {
req.time = new Date().toString();
next();
}, (req, res) => {
res.json({ time: req.time });
});
Enlace(s) de tu proyecto

solution: https://boilerplate-express--jonnathanvaldez.repl.co

Información de tu navegador:

El agente de usuario es: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0

Desafío: Node y Express Basico - Encadenando Middlewares para crear un servidor horario

Enlaza al desafío:

El fallo esta en las comillas: ‘/now’
No tiene que ser sino ' o "

Saludos

hola si estan con esas comillas al copiar se cambiaron pero, de igual manera me sigue retornando el mismo error
Saludos

Me parece extraño,
Hice pruebas con tu código y lo único que fallaba eran las comillas.
Te paso el código que he utilizado en todo caso para probar:

//Declaración del Middleware en forma de funcion
let getTime = (req,res,next) => {
  req.time = new Date().toString()
  next()
}

// Declaración de la ruta now
app.get('/now',getTime,(req,res) => {
  let time = req.time
  res.json({"time":time})
})

ya me comentas
Saludos

Me sigue saliendo el mismo error =( lo que se me ocurrio ver es la zona horaria del servidor que me asigna replit, al parecer pertenece a Europa, y revise la zona hora desde donde se hace la solicitud de las prubas en este caso EEUU, entonces le reste 7 horas para que sea la hora exacta pero tampoco =(

app.get('/now', (req, res, next) => {
  const currentTime = new Date();

  // Restar 7 horas a la hora actual
  currentTime.setHours(currentTime.getHours() - 7);
  currentTime.setSeconds(currentTime.getSeconds() + 1);

  req.time = currentTime.toString();
  next();
}, (req, res) => {
  res.json({ time: req.time });
});

He probado tú link de nuevo con los casos tests y parece que va bien. A ti te funciona?

El tema de restar 7 horas, hará que el código no pase:

  // Restar 7 horas a la hora actual
  currentTime.setHours(currentTime.getHours() - 7);
  currentTime.setSeconds(currentTime.getSeconds() + 1);

Porque en principio new Date(), ya devuelve la hora actual.

En caso de no funcionar, prueba:

  • En reinicia el server
  • Y a las malas si no funciona nada, copia lo que tengas y vuelve a empezar (a ver si eso arregla el problema)

Saludos y ya me cuentas