var http = require('http');
http.createServer(function (req, res) {
if (req.method === 'POST') {
// How to obtain the body buffer?
}
});
Я знаю, что могу читать поток данных, например.Как получить буфер тела запроса?
var requestBody = '';
req.on('data', function (data) {
requestBody += data;
});
req.on('end', function() {
console.log(requestBody);
});
Я предполагаю, что есть способ получить доступ к буферу данных напрямую или самостоятельно построить его?
Целью является перенаправление HTTP-запроса (выполнение MITM для целей отладки).
Если вы просите способ получить доступ к основному буферу в модуле 'http' Я уверен, что это возможно. Я даже задаюсь вопросом, зачем нужно что-то делать, события «данных» должно быть достаточно. –
«Я предполагаю, что есть способ получить доступ к буферу данных напрямую или самостоятельно построить его?» Вы сами строите это, слушая события «данные» и «конец», как вы уже отметили. Там нет «буфера данных» - данные транслируются, а модель событий - это то, как вы попадаете в этот поток. – Joe
@ Джо прав. Как я узнал по Freenode, 'req' сам это поток данных, http://nodejs.org/api/stream.html. По какой-то причине это не было очевидно для меня. – Gajus