我正在編寫一個相當複雜的多節點代理,並且一次需要處理HTTP請求,但是在「http.Server」回調之外讀取該請求(我需要從請求數據中讀取數據,並在不同的時間使用不同的響應進行排列)。問題是,流不再可讀。下面是一些簡單的代碼來重現問題。這是正常的,還是一個錯誤?HTTP請求流在請求處理程序外不可讀
function startServer() {
http.Server(function (req, res) {
req.pause();
checkRequestReadable(req);
setTimeout(function() {
checkRequestReadable(req);
}, 1000);
setTimeout(function() {
res.end();
}, 1100);
}).listen(1337);
console.log('Server running on port 1337');
}
function checkRequestReadable(req) {
//The request is not readable here!
console.log('Request writable? ' + req.readable);
}
startServer();
我想補充的是,req.on(「數據」)的工作,但最終,我想req.pipe(...在請求處理程序以外工作 –
如果有人知道這裏發生了什麼,我很想更好地理解爲什麼這不起作用,我覺得我錯過了一些東西 – outside2344