github.com/cloudcredo/cloudrocker@v0.0.0-20160108110610-1320f8cc2dfd/sample-apps/node/node_modules/logfmt/examples/express_pipe.js (about) 1 var app = require('express')(); 2 var assert = require('assert'); 3 var http = require('http'); 4 var through = require('through'); 5 var logfmt = require('../logfmt'); 6 7 app.use(logfmt.bodyParserStream()); 8 9 app.post('/logs', function(req, res){ 10 if(!req.body) return res.send('OK'); 11 12 req.body.pipe(through(function(line){ 13 try { 14 console.log(line); 15 if(line.at === 'error'){ 16 assert.equal('H12', line.code) 17 assert.equal('50.17.15.69', line.fwd) 18 }else{ 19 assert.equal("bar", line["foo"]) 20 assert.equal(14, line.a) 21 assert.equal("hello kitty", line['baz']) 22 assert.equal('bro', line['cool%story']) 23 assert.equal(true, line.f) 24 assert.equal(true, line['%^asdf']) 25 } 26 } catch (e) { 27 console.log(e) 28 res.send('FAIL') 29 } 30 }, end)) 31 32 function end() { res.send('OK') } 33 }) 34 35 http.createServer(app).listen(3000); 36 console.log("Express server listening on port 3000")