diff --git a/Example.md b/Example.md index 566812a..169e01b 100644 --- a/Example.md +++ b/Example.md @@ -3,44 +3,27 @@ You'll need to first "create table visit (date date)" in your postgres database ```javascript -var sys = require('sys'); var http = require('http'); -var pg = require('pg').native; -var connectionString = "postgres://postgres:abcd@localhost:5432/postgres"; +var pg = require('pg'); -var server = http.createServer(function(req, res) { - var start = new Date(); - if(req.url != "/") { - res.writeHead(404); - return res.end("404'd") - } - var after = function(callback) { - return function(err, queryResult) { - if(err) { - res.writeHead(500, {"Content-Type" : "text/plain"}); - return res.end("Error! " + sys.inspect(err)) - } - callback(queryResult) - } - } - - pg.connect(connectionString, after(function(client) { - client.query("SELECT COUNT(date) as count FROM visit", after(function(result) { - client.query("SELECT date FROM visit ORDER BY date DESC LIMIT 1", after(function(dateResult) { - var text = ["
I have been viewed ", result.rows[0].count, " times
", - "Most recently I was viewed at ", (dateResult.rows.length !== 0 ? dateResult.rows[0].date : ""), "
", - 'you can view the source on github', - 'this page took ~', - (new Date())-start, - ' milliseconds to render
', - ""].join('') - res.writeHead(200, {"Content-Type": "text/html"}) - res.end(text); - client.query('INSERT INTO visit(date) VALUES($1)', [new Date()]) - })) - })) - })) +var server = http.createServer(function(req, res, next) { + pg.connect(function(err, client, done) { + var handleError = function(err) { + if(!err) return false; + done(client); + next(err); + return true; + }; + client.query('INSERT INTO visit (date) VALUES ($1)', [new Date()], function(err, result) { + if(handleError(err)) return; + client.query('SELECT COUNT(date) AS count FROM visit', function(err, result) { + if(handleError(err)) return; + done(); + res.writeHead(200, {'content-type': 'text/html'}); + res.end('You are visitor number ' + result.rows[0].count); + }); + }); + }); }) server.listen(3001)