Archivo de la etiqueta: rutear node.js

Rutear peticiones en node.js

Hola a todos:

Hoy vamos a ver como rutear peticiones en node.js.

Para poder acceder a diferentes partes del c贸digo dependiendo de la petici贸n HTTP recibida, debemos obtener la url y los posibles par谩metros GET/POST.

Toda la informaci贸n sobre la petici贸n se encuentra en el objeto request que recibimos como par谩metro en la funci贸n onRequest.

Para extraer esta informaci贸n necesitamos utilizar el m贸dulo url para extraer la ruta y el m贸dulo querystring para obtener los par谩metros pasados por GET o por POST.

Vano a modificar el archivo server.js del post anterior y a帽adimos la obtenci贸n de la url

var http = require("http");
var url = require("url");

function start()
{
  function onRequest(request, response)
  {
    response.writeHead(200, {"Content-Type": "text/html"});
    var pathname = url.parse(request.url).pathname;
    var query = url.parse(request.url,true).query;
    var id = query.id;
    response.write("Petici贸n para " + pathname + " recibida con id="+id);
   response.end();
  }
  http.createServer(onRequest).listen(8888);
}
exports.start = start;

En la variable pathname obtenemos la ruta URL requerida, por lo que podemos tomar decisiones sobre lo que hacer en funci贸n de la ruta obtenida.

Por ejemplo si escribimos en la barra de direcciones del navegador http://localhost:8888/productos/gafas/?id=12 la variable pathname contendr谩 /productos/gafas/ , la variable id valdr谩 12 y en el navegador se mostrar谩 el siguiente mensaje: 鈥淧etici贸n para /productos/gafas/ recibida con id=12鈥.

De esta manera podemos tomar 聽decisiones en funci贸n de lo que recibimos como par谩metros en la url.