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