remove bouncy

rework request proxy to use native http request and direct socket pipe.
Cuts out bouncy which is no longer maintained and simplifies the code
path.
This commit is contained in:
Roman Shtylman
2015-11-04 20:01:01 -08:00
parent 4f0f78d1ee
commit f8fa049966
7 changed files with 200 additions and 68 deletions

View File

@@ -5,33 +5,43 @@ var localtunnel = require('localtunnel');
var WebSocket = require('ws');
var WebSocketServer = require('ws').Server;
var localtunnel_server = require('../server')();
var localtunnel_server = require('../server')({
max_tcp_sockets: 2
});
var lt_server_port
test('set up localtunnel server', function(done) {
suite('websocket');
before('set up localtunnel server', function(done) {
var server = localtunnel_server.listen(function() {
lt_server_port = server.address().port;
console.log('lt server on:', lt_server_port);
done();
});
});
test('set up local websocket server', function(done) {
before('set up local websocket server', function(done) {
var wss = new WebSocketServer({ port: 0 }, function() {
test._fake_port = wss._server.address().port;
done();
});
wss.on('error', function(err) {
done(err);
});
wss.on('connection', function connection(ws) {
ws.on('error', function(err) {
done(err);
});
ws.on('message', function incoming(message) {
ws.send(message);
});
});
});
test('set up localtunnel client', function(done) {
before('set up localtunnel client', function(done) {
var opt = {
host: 'http://localhost:' + lt_server_port,
};
@@ -45,13 +55,14 @@ test('set up localtunnel client', function(done) {
});
});
test('test websocket server request', function(done) {
test('websocket server request', function(done) {
var hostname = url.parse(test._fake_url).hostname;
var ws = new WebSocket('http://localhost:' + lt_server_port, {
headers: {
host: hostname + '.tld'
}
});
ws.on('message', function(msg) {
assert.equal(msg, 'something');
done();