зависание POST-запросов в Nodejs - PullRequest
0 голосов
/ 05 июля 2019

Я использую expressjs для создания и API. У меня также есть прокси-сервер для направления запросов на мой API-сервер, как показано ниже:

Но на сервере API тело запросов POST и PUT не может проанализировать, и сервер зависает.

// on proxy server
const httpProxy = require('http-proxy');
const proxy = httpProxy.createProxyServer({});

app.all('/api/*', function(req, res){
    proxy.web(req, res, { target: 'http://example.com:9000' });
});
proxy.on('proxyReq', function(proxyReq, req, res, options) {
    if ((req.method == "POST" || req.method == "PUT") && req.body) {
        proxyReq.write(JSON.stringify(req.body));
        proxyReq.end();
    }
});

proxy.on('proxyRes', function(proxyRes, req, res) {
    var body = '';
    proxyRes.on('data', function(chunk) {
        body += chunk;
    });

    proxyRes.on('end', function() {

    });
});

Часть сервера API для анализа содержимого тела.

// on api server
app.use(bodyParser.json({ }));
app.use(bodyParser.urlencoded({ extended: true }));

app.use(cookieParser());
app.use(compress());
app.use(methodOverride());

Я понял, что он цепляется в bodyParser() промежуточном программном обеспечении.

Любая помощь будет принята с благодарностью. Я уже испробовал различные решения на stackoverflow, и ни один из них мне не помог.

...