Hola de nuevo Arturo, después de pasar por el capítulo de Express y realizar los koans, me he dado cuenta que de nuevo hay varios bugs en los ejemplos, en concreto de la parte dos:
-> En el fichero de koans 'express-koans.js' del objetivo#2 no hay Koans!
-> En el mismo fichero en la ruta get de un whizr se llama a req.params('username'), al menos en mi versión de node me dice que params no es una función y mirando el anterior ejemplo se llama a req.param('username'), que si que es una función. Por otra parte si se imprime por consola req.params nos dice que es una propiedad de req.
-> En ese mismo método unas lineas más abajo se pasa la variable docs en el sigueinte callback: "models.Whiz.find( { author: username }, function(err, docs){", y acto seguido se comprueba por doc == null, por lo que puede decir que doc no está definido si llegase a evaluar dicha expresión.
-> En el mismo fichero, en la ruta "app.post('/unfollow', checkAuth, function(req, res){", se comprueba que "if (unfollow.length == 0 || unfollow == null || unfollow == whizr", y node da error avisando de que la variable whizr no está definida. Mirando el método de la ruta follow, lo que quizas se debería cambiar a "req.session.whizr.username".
-> Por último y para futuras versiones, el api de express 3.0, y en concreto el api del middleware bodyParser sugiere acceder a los valores de las peticiones post mediante req.body.username en vez de req.param('username').
Espero haberte sido de ayuda y un saludo, Jorge Madrid!
Hola de nuevo Arturo, después de pasar por el capítulo de Express y realizar los koans, me he dado cuenta que de nuevo hay varios bugs en los ejemplos, en concreto de la parte dos:
-> En el fichero de koans 'express-koans.js' del objetivo#2 no hay Koans!
-> En el mismo fichero en la ruta get de un whizr se llama a req.params('username'), al menos en mi versión de node me dice que params no es una función y mirando el anterior ejemplo se llama a req.param('username'), que si que es una función. Por otra parte si se imprime por consola req.params nos dice que es una propiedad de req.
-> En ese mismo método unas lineas más abajo se pasa la variable docs en el sigueinte callback: "models.Whiz.find( { author: username }, function(err, docs){", y acto seguido se comprueba por doc == null, por lo que puede decir que doc no está definido si llegase a evaluar dicha expresión.
-> En el mismo fichero, en la ruta "app.post('/unfollow', checkAuth, function(req, res){", se comprueba que "if (unfollow.length == 0 || unfollow == null || unfollow == whizr", y node da error avisando de que la variable whizr no está definida. Mirando el método de la ruta follow, lo que quizas se debería cambiar a "req.session.whizr.username".
-> Por último y para futuras versiones, el api de express 3.0, y en concreto el api del middleware bodyParser sugiere acceder a los valores de las peticiones post mediante req.body.username en vez de req.param('username').
Espero haberte sido de ayuda y un saludo, Jorge Madrid!