github.com/cloudcredo/cloudrocker@v0.0.0-20160108110610-1320f8cc2dfd/sample-apps/node/node_modules/logfmt/examples/express_readable.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.on('readable', function(){ 13 var line = req.body.read(); 14 if(!line) return res.send('OK'); 15 try { 16 console.log(line); 17 if(line.at === 'error'){ 18 assert.equal('H12', line.code) 19 assert.equal('50.17.15.69', line.fwd) 20 }else{ 21 assert.equal("bar", line["foo"]) 22 assert.equal(14, line.a) 23 assert.equal("hello kitty", line['baz']) 24 assert.equal('bro', line['cool%story']) 25 assert.equal(true, line.f) 26 assert.equal(true, line['%^asdf']) 27 } 28 } catch (e) { 29 console.log(e) 30 res.send('FAIL') 31 } 32 }) 33 req.body.resume(); 34 }) 35 36 http.createServer(app).listen(3000); 37 console.log("Express server listening on port 3000")