Skip to content

Commit a704213

Browse files
committed
[tests] fixing tests, fixed some typos and changed how passes are stored
1 parent b333e63 commit a704213

File tree

2 files changed

+20
-21
lines changed

2 files changed

+20
-21
lines changed

lib/http-proxy/index.js

+13-14
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ var httpProxy = exports,
22
extend = require('util')._extend,
33
parse_url = require('url').parse,
44
EE3 = require('eventemitter3').EventEmitter,
5+
http = require('http'),
6+
https = require('https'),
57
web = require('./passes/web-incoming'),
68
ws = require('./passes/ws-incoming');
79

@@ -24,16 +26,9 @@ httpProxy.Server = ProxyServer;
2426
*/
2527

2628
function createRightProxy(type) {
27-
var passes = (type === 'ws') ? ws : web;
28-
2929
return function(options) {
30-
31-
passes = Object.keys(passes).map(function(pass) {
32-
return passes[pass];
33-
});
34-
3530
return function(req, res /*, [head], [opts] */) {
36-
var passes = this.passes || passes,
31+
var passes = (type === 'ws') ? this.wsPasses : this.webPasses,
3732
args = [].slice.call(arguments),
3833
cntr = args.length - 1,
3934
head, cbl;
@@ -78,7 +73,7 @@ function createRightProxy(type) {
7873
* refer to the connection socket
7974
* pass(req, socket, options, head)
8075
*/
81-
if(passes[i](req, res, cbl ? this : false, head, cbl)) { // passes can return a truthy value to halt the loop
76+
if(passes[i](req, res, cbl ? false : this, head, cbl)) { // passes can return a truthy value to halt the loop
8277
break;
8378
}
8479
}
@@ -94,20 +89,24 @@ function ProxyServer(options) {
9489
this.ws = createRightProxy('ws')(options);
9590
this.options = options;
9691

97-
this.passes = Object.keys(passes).map(function(pass) {
98-
return passes[pass];
92+
this.webPasses = Object.keys(web).map(function(pass) {
93+
return web[pass];
94+
});
95+
96+
this.wsPasses = Object.keys(ws).map(function(pass) {
97+
return ws[pass];
9998
});
10099
}
101100

102101
ProxyServer.prototype.listen = function(port) {
103102
var self = this,
104103
closure = function(req, res) { self.web(req, res); };
105104

106-
this._server = options.ssl ?
105+
this._server = this.options.ssl ?
107106
https.createServer(this.options.ssl, closure) :
108107
http.createServer(closure);
109108

110-
if(options.ws) {
109+
if(this.options.ws) {
111110
this._server.on('upgrade', function(req, socket, head) { self.ws(req, socket, head); });
112111
}
113112

@@ -137,4 +136,4 @@ ProxyServer.prototype.after = function(passName, callback) {
137136
this.passes.splice(i++, 0, callback);
138137
};
139138

140-
require('util').inherits(ProxyServer, EE3);
139+
//require('util').inherits(ProxyServer, EE3);

test/lib-http-proxy-test.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ describe('lib/http-proxy.js', function() {
4040
expect(req.method).to.eql('GET');
4141
expect(req.headers.host.split(':')[1]).to.eql('8081');
4242
source.close();
43-
proxy.close();
43+
proxy._server.close();
4444
done();
4545
});
4646

@@ -61,7 +61,7 @@ describe('lib/http-proxy.js', function() {
6161
expect(req.headers['x-forwarded-for']).to.eql('127.0.0.1');
6262
expect(req.headers.host.split(':')[1]).to.eql('8081');
6363
source.close();
64-
proxy.close();
64+
proxy._server.close();
6565
done();
6666
});
6767

@@ -106,7 +106,7 @@ describe('lib/http-proxy.js', function() {
106106

107107
res.on('end', function () {
108108
source.close();
109-
proxy.close();
109+
proxy._server.close();
110110
done();
111111
});
112112
}).end();
@@ -122,7 +122,7 @@ describe('lib/http-proxy.js', function() {
122122
proxy.ee.on('http-proxy:outgoing:web:error', function (err) {
123123
expect(err).to.be.an(Error);
124124
expect(err.code).to.be('ECONNREFUSED');
125-
proxyServer.close();
125+
proxyServer._server.close();
126126
done();
127127
})
128128

@@ -174,7 +174,7 @@ describe('lib/http-proxy.js', function() {
174174
expect(events).to.contain('http-proxy:outgoing:web:begin');
175175
expect(events).to.contain('http-proxy:outgoing:web:end');
176176
source.close();
177-
proxyServer.close();
177+
proxyServer._server.close();
178178
done();
179179
});
180180
}).end();
@@ -198,7 +198,7 @@ describe('lib/http-proxy.js', function() {
198198
client.on('message', function (msg) {
199199
expect(msg).to.be('Hello over websockets');
200200
client.close();
201-
proxyServer.close();
201+
proxyServer._server.close();
202202
destiny.close();
203203
done();
204204
});
@@ -229,7 +229,7 @@ describe('lib/http-proxy.js', function() {
229229

230230
client.on('outgoing', function (data) {
231231
expect(data).to.be('Hello over websockets');
232-
proxyServer.close();
232+
proxyServer._server.close();
233233
destiny.server.close();
234234
done();
235235
});

0 commit comments

Comments
 (0)