Как получить доступ к телу запроса при отправке POST с использованием Node.js и Express?

У меня есть следующий код Node.js:

var express = require('express');
var app = express.createServer(express.logger());
app.use(express.bodyParser());

app.post('/', function(request, response) {
    response.write(request.body.user);
    response.end();
});

Теперь, если я отправлю что-то вроде:

curl -d user=Someone -H Accept:application/json --url http://localhost:5000

Я получаю Someone, как и ожидалось. А что, если я хочу получить полное тело запроса? Я пытался выполнить response.write(request.body), но Node.js выдает исключение, говорящее: «первый аргумент должен быть строкой или буфером », затем переходит в «бесконечный цикл» с исключением, которое говорит: «Не могу установить заголовки после их отправки."; это также верно, даже если бы я сделал var reqBody = request.body;, а затем написал response.write(reqBody).

В чем проблема?

Кроме того, могу ли я просто получить необработанный запрос без использования express.bodyParser()?

149
задан Walter Roman 24 June 2015 в 05:27
поделиться