Eu tenho o seguinte código 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();
});
Agora, se eu POST algo como:
curl -d user=Someone -H Accept:application/json --url http://localhost:5000
Eu fico Someone
como o esperado. Agora, e se eu quiser obter o corpo completo da solicitação? Eu tentei fazer, response.write(request.body)
mas o Node.js lança uma exceção dizendo "o primeiro argumento deve ser uma string ou um buffer " e depois passa para um "loop infinito", com uma exceção que diz " Não é possível definir cabeçalhos após o envio. "; isso também é verdade mesmo que eu fiz var reqBody = request.body;
e depois escrevi response.write(reqBody)
.
Qual é o problema aqui?
Além disso, posso obter a solicitação bruta sem usar express.bodyParser()
?
response.write(reqBody)
; quando uso asresponse.send(reqBody)
coisas estão funcionando bem ... e sim, usoresponse.end
depoisresponse.write
.