User Tools

Site Tools


Sidebar

General

Python Tutorials

WebGL Tutorials

Node.js Tutorials

Node.js in WebStorm


Martin Christen

View Martin Christen's profile on LinkedIn


Twitter

Timeline of @MartinChristen

MartinChristen avatar

RT @TFConsult: Celebrating 100th birthday of #physicist #RichardFeynman: The marvellous #Feynman lectures on #physics: https://t.co/81as7mN
About 1 week, 4 days ago by: Martin Christen (@MartinChristen)

MartinChristen avatar

RT @sergerey: Had a fantastic time giving our workshop on Spatial Data Science with PyData at @GeoPythonConf with @levijohnwolf. Looking f…
About 1 week, 5 days ago by: Martin Christen (@MartinChristen)

MartinChristen avatar

RT @fridex: Everything has an end even such an excellent conference #GeoPythonConf in Basel. Thanks to organizers for such an outstanding c…
About 1 week, 5 days ago by: Martin Christen (@MartinChristen)
node:tutorial03

Node.js Tutorials - Part 0

Node.js Tutorial 3

Handling Request Parameters

In this tutoroal we want to parse request parameters. For example if you request http://localhost:1234/mypath/?a=2&b=5&c=Hello we want to know the values of the result and return it in a JSON String which would look like:

{
  "path": "/mypath/",
  "query": {
    "a": "2",
    "b": "5",
    "c": "Hello"
  }
}

This can be implemented using the “URL” module which is included in the standard node.js installation.

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

The http and url modules are stored in the variables “http” and “url”.

var myServer = http.createServer(function (){});

myServer.addListener("request", function(req, res) {
  res.writeHead(200, {'Content-Type': 'application/json'});
  
  var url_parsed = url.parse(req.url, true);
  
  var myObject = {};
  myObject['path'] = url_parsed.pathname;
  myObject['query'] = url_parsed.query;
  res.end(JSON.stringify(myObject, undefined, 2));
});

myServer.listen(1234, '127.0.0.1');

using url.parse the url is parsed and stored in a parsed url object.

The parsed url object contains the “pathname” and the “query”. It also contains other fields like port, host, hash…

One more thing, if you want to run your script as a daemon, you can use “forever”, available at: http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever


node/tutorial03.txt · Last modified: 2013/09/16 22:05 by mchristen