Skip to content

Commit

Permalink
[fix] pass more useful information to the error that we dont already …
Browse files Browse the repository at this point in the history
…have access to
  • Loading branch information
jcrugzz committed Feb 10, 2016
1 parent 9d9fa94 commit 8a60ca4
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 14 deletions.
7 changes: 2 additions & 5 deletions lib/http-proxy/passes/web-incoming.js
Expand Up @@ -127,17 +127,14 @@ web_o = Object.keys(web_o).map(function(pass) {
proxyReq.abort();
});

// Handle errors on incoming request as well as it makes sense to
req.on('error', proxyError);

// Error Handler
proxyReq.on('error', proxyError);

function proxyError (err){
if (clb) {
clb(err, req, res, options.target);
clb(err, proxyReq, options.target);
} else {
server.emit('error', err, req, res, options.target);
server.emit('error', err, proxyReq, options.target);
}
}

Expand Down
12 changes: 3 additions & 9 deletions test/lib-http-proxy-passes-web-incoming-test.js
Expand Up @@ -144,11 +144,9 @@ describe('#createProxyServer.web() using own http server', function () {
var proxyServer = http.createServer(requestHandler);

function requestHandler(req, res) {
proxy.once('error', function (err, errReq, errRes) {
proxy.once('error', function (err) {
proxyServer.close();
expect(err).to.be.an(Error);
expect(errReq).to.be.equal(req);
expect(errRes).to.be.equal(res);
expect(err.code).to.be('ECONNREFUSED');
done();
});
Expand Down Expand Up @@ -177,11 +175,9 @@ describe('#createProxyServer.web() using own http server', function () {

var started = new Date().getTime();
function requestHandler(req, res) {
proxy.once('error', function (err, errReq, errRes) {
proxy.once('error', function (err) {
proxyServer.close();
expect(err).to.be.an(Error);
expect(errReq).to.be.equal(req);
expect(errRes).to.be.equal(res);
expect(new Date().getTime() - started).to.be.greaterThan(99);
expect(err.code).to.be('ECONNRESET');
done();
Expand Down Expand Up @@ -217,11 +213,9 @@ describe('#createProxyServer.web() using own http server', function () {

var started = new Date().getTime();
function requestHandler(req, res) {
proxy.once('error', function (err, errReq, errRes) {
proxy.once('error', function (err) {
proxyServer.close();
expect(err).to.be.an(Error);
expect(errReq).to.be.equal(req);
expect(errRes).to.be.equal(res);
expect(err.code).to.be('ECONNRESET');
doneOne();
});
Expand Down

0 comments on commit 8a60ca4

Please sign in to comment.