Ошибка Node JS HTTP-сервера request.on('data')

Я работаю над приложением NodeACS, в котором мне нужно отправить xml в качестве запроса от HTTP-клиента Java и получить ответ после некоторых манипуляций. Java HTTP Client работает нормально до сих пор, но проблема связана с Node JS файлом. Событие req.on('data'...) не срабатывает в моем случае. Ниже приведен код моего JS файла:

function index(req, res) {
 console.log(req.headers); //Its getting printed on console
 req.on('data', function (data) {
 console.log("Inside 1"); //Not printed on console
 ....REST OF THE CODE....
 });
 req.on('end', function () {
 res.writeHead(200);
 res.end();
 });
}

В приведенном выше коде после получения запроса вызывается функция индекса и печатается вывод для console.log(req.headers); но, как упоминалось выше, скрипт не работает после этого. Пожалуйста, помогите мне. Что мне не хватает в этом.

Для тестирования я установил cURL в свою систему и отправил запрос POST на сервер с использованием запроса cURL, используя следующую команду:

curl -X POST -d @output.xml http://localhost:7788/
1 ответ

Можете ли вы подтвердить, что вы не потребляете тело до этого? Если тело уже потребляется другим промежуточным программным обеспечением, таким как body-parser, вам нужно будет перекомпоновать тело через что-то вроде connect-restreamer. Если он будет потреблен, событие данных не будет выбрано.

Если это проверяется, проверьте, не выбрано ли событие "end". Может быть признаком того, что заголовок длины содержимого настроен на неправильное значение.

licensed under cc by-sa 3.0 with attribution.