Expressjs raw body

Something like this should work:

var express = require('./node_modules/express');
var app = express.createServer();
app.use (function(req, res, next) {
    var data='';
    req.setEncoding('utf8');
    req.on('data', function(chunk) { 
       data += chunk;
    });

    req.on('end', function() {
        req.body = data;
        next();
    });
});

app.post('/', function(req, res)
{
    console.log(req.body);
});
app.listen(80);

Using the bodyParser.text() middleware will put the text body in req.body.

app.use(bodyParser.text({type: '*/*'}));

If you want to limit processing the text body to certain routes or post content types, you can do that too.

app.use('/routes/to/save/text/body/*', bodyParser.text({type: 'text/plain'})); //this type is actually the default
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

If you want a raw Buffer, you can use bodyParse.raw().

app.use(bodyParser.raw({type: '*/*'}));

Note: this answer was tested against node v0.12.7, express 4.13.2, and body-parser 1.13.3.