github.com/cloudcredo/cloudrocker@v0.0.0-20160108110610-1320f8cc2dfd/sample-apps/node/node_modules/logfmt/examples/express_buffered.js (about) 1 var app = require('express')(); 2 var assert = require('assert'); 3 var http = require('http'); 4 5 var logfmt = require('../logfmt'); 6 7 app.use(logfmt.bodyParser()); 8 9 app.use(logfmt.requestLogger(function(req,res){ 10 return { 11 "method" : req.method, 12 "content-type" : req.headers['content-type'], 13 "status" : res.statusCode 14 } 15 })) 16 17 app.post('/logs', function(req, res){ 18 console.log('HEADERS: ' + JSON.stringify(req.headers)); 19 console.log('BODY: ' + JSON.stringify(req.body)); 20 try { 21 var result = req.body[0]; 22 assert.equal( "bar", result["foo"]) 23 assert.equal(14, result.a) 24 assert.equal("hello kitty", result['baz']) 25 assert.equal('bro', result['cool%story']) 26 assert.equal(true, result.f) 27 assert.equal(true, result['%^asdf']) 28 result = req.body[1]; 29 assert.equal('H12', result.code) 30 assert.equal('50.17.15.69', result.fwd) 31 res.send('OK') 32 } catch (e) { 33 res.send('FAIL') 34 } 35 }) 36 37 http.createServer(app).listen(3000); 38 console.log("Express server listening on port 3000") 39