From 2a6561e7745f950cd4ce96acf513564096987a4a Mon Sep 17 00:00:00 2001 From: Roman Shtylman Date: Sun, 27 Nov 2016 09:49:10 -0800 Subject: [PATCH] add error handlers to requests and sockets Trying to flush out cause of sporadic socket failures and identify which socket is not being handled. --- server.js | 17 +++++++++++++++++ test/basic.js | 12 ++---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/server.js b/server.js index a21dcd8..e52a300 100644 --- a/server.js +++ b/server.js @@ -301,6 +301,15 @@ module.exports = function(opt) { const server = http.createServer(); server.on('request', function(req, res) { + + req.on('error', (err) => { + console.error('request', err); + }); + + res.on('error', (err) => { + console.error('response', err); + }); + debug('request %s', req.url); if (maybe_bounce(req, res, null, null)) { return; @@ -310,6 +319,14 @@ module.exports = function(opt) { }); server.on('upgrade', function(req, socket, head) { + req.on('error', (err) => { + console.error('ws req', err); + }); + + socket.on('error', (err) => { + console.error('ws socket', err); + }); + if (maybe_bounce(req, null, socket, head)) { return; }; diff --git a/test/basic.js b/test/basic.js index 408d4a2..ed66574 100644 --- a/test/basic.js +++ b/test/basic.js @@ -28,16 +28,8 @@ test('landing page', function(done) { var req = http.request(opt, function(res) { res.setEncoding('utf8'); - var body = ''; - - res.on('data', function(chunk) { - body += chunk; - }); - - res.on('end', function() { - assert(body.indexOf('Redirecting to https://localtunnel.github.io/www/') > 0); - done(); - }); + assert.equal(res.headers.location, 'https://localtunnel.github.io/www/') + done(); }); req.end();