Мне нужно иметь возможность использовать тело запроса http в моем прокси-приложении запроса, а затем снова в фактической веб-службе. Я использую restreamer для «сброса» потока (и даже сам написал промежуточное программное обеспечение без изменений). Веб-служба получает тело просто отлично, но поскольку конец никогда не испускается, я не могу продолжить запрос.http-запрос не испускает «конец» после прокси
Тестирование с почтальоном, отправка сырого тела, с типом контента. Любые предложения будут ценны. Благодаря!
var express = require('express')
, bodyParser = require('body-parser')
, http = require('http')
, restreamer = require('connect-restreamer')
, httpProxy = require('http-proxy')
var app = express();
app.use(function (req, res, next) {
var body = '';
req.on('data', function (chunk) {
body += chunk.toString('utf8');
});
req.on('end', function (chunk) {
req.body = JSON.parse(body)
next();
});
});
app.use(restreamer());
var proxy = httpProxy.createServer();
app.all('*', function (req, res) {
proxy.web(req, res, {
target: 'http://localhost:8001'
});
});
http.createServer(app).listen(8000);
app2 = express();
app2.use(function (req, res, next) {
var body = '';
req.on('data', function (chunk) {
body += chunk.toString('utf8');
});
req.on('end', function (chunk) {
req.body = JSON.parse(body)
next();
});
});
app2.all('*', function (req, res) {
res.send(req.body)
});
http.createServer(app2).listen(8001);
Также проверено с помощью curl: 'curl -X POST -d @ data.json http: // localhost: 8000 --header« Content-Type: application/json »' – ngourley