NodeJS response.on('data') doesn't fire when I add hook to request emit

74 Views Asked by At

I make https request with Node's https.request() and listen to response 'data' event:

const req = https.request('https://stackoverflow.com/', res => {
    res.on('data', (chunk) => {
        console.log('data');
    })
});

req.end();

I works fine. I get 'data' outputs in console.

However, when I add hook to reqest's emit (for debug purposes) as this:

const req = https.request('https://stackoverflow.com/', res => {
    res.on('data', (chunk) => {
        console.log('data');
    })
});
const original_emit = req.emit;
req.emit = function(event_name) {
    console.log('reqest event: ' + event_name);
    original_emit.apply(req, arguments);
};

req.end();

I don't get 'data' output anymore. Cannot find reason for that.

Node version: 8.11.3

0

There are 0 best solutions below