GT2/GT2-Android/node_modules/logfmt/examples/express_pipe.js

37 lines
954 B
JavaScript

var app = require('express')();
var assert = require('assert');
var http = require('http');
var through = require('through');
var logfmt = require('../logfmt');
app.use(logfmt.bodyParserStream());
app.post('/logs', function(req, res){
if(!req.body) return res.send('OK');
req.body.pipe(through(function(line){
try {
console.log(line);
if(line.at === 'error'){
assert.equal('H12', line.code)
assert.equal('50.17.15.69', line.fwd)
}else{
assert.equal("bar", line["foo"])
assert.equal(14, line.a)
assert.equal("hello kitty", line['baz'])
assert.equal('bro', line['cool%story'])
assert.equal(true, line.f)
assert.equal(true, line['%^asdf'])
}
} catch (e) {
console.log(e)
res.send('FAIL')
}
}, end))
function end() { res.send('OK') }
})
http.createServer(app).listen(3000);
console.log("Express server listening on port 3000")