mirror of
https://github.com/bitinflow/server.git
synced 2026-03-13 13:35:53 +00:00
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:
@@ -5,12 +5,13 @@ var localtunnel = require('localtunnel');
|
||||
|
||||
var localtunnel_server = require('../server')();
|
||||
|
||||
suite('basic');
|
||||
|
||||
var lt_server_port
|
||||
|
||||
test('set up localtunnel server', function(done) {
|
||||
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();
|
||||
});
|
||||
});
|
||||
@@ -42,7 +43,7 @@ test('landing page', function(done) {
|
||||
req.end();
|
||||
});
|
||||
|
||||
test('set up local http server', function(done) {
|
||||
before('set up local http server', function(done) {
|
||||
var server = http.createServer();
|
||||
server.on('request', function(req, res) {
|
||||
res.write('foo');
|
||||
@@ -52,12 +53,11 @@ test('set up local http server', function(done) {
|
||||
var port = server.address().port;
|
||||
|
||||
test._fake_port = port;
|
||||
console.log('local http on:', port);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('set up localtunnel client', function(done) {
|
||||
before('set up localtunnel client', function(done) {
|
||||
var opt = {
|
||||
host: 'http://localhost:' + lt_server_port,
|
||||
};
|
||||
@@ -144,6 +144,6 @@ test('request uppercase domain', function(done) {
|
||||
});
|
||||
});
|
||||
|
||||
test('shutdown', function() {
|
||||
after('shutdown', function() {
|
||||
localtunnel_server.close();
|
||||
});
|
||||
|
||||
@@ -3,6 +3,8 @@ var url = require('url');
|
||||
var assert = require('assert');
|
||||
var localtunnel = require('localtunnel');
|
||||
|
||||
suite('queue');
|
||||
|
||||
var localtunnel_server = require('../server')({
|
||||
max_tcp_sockets: 1
|
||||
});
|
||||
@@ -10,15 +12,14 @@ var localtunnel_server = require('../server')({
|
||||
var server;
|
||||
var lt_server_port;
|
||||
|
||||
test('set up localtunnel server', function(done) {
|
||||
before('set up localtunnel server', function(done) {
|
||||
var lt_server = localtunnel_server.listen(function() {
|
||||
lt_server_port = lt_server.address().port;
|
||||
console.log('lt server on:', lt_server_port);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('set up local http server', function(done) {
|
||||
before('set up local http server', function(done) {
|
||||
server = http.createServer();
|
||||
server.on('request', function(req, res) {
|
||||
// respond sometime later
|
||||
@@ -32,12 +33,11 @@ test('set up local http server', function(done) {
|
||||
var port = server.address().port;
|
||||
|
||||
test._fake_port = port;
|
||||
console.log('local http on:', port);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('set up localtunnel client', function(done) {
|
||||
before('set up localtunnel client', function(done) {
|
||||
var opt = {
|
||||
host: 'http://localhost:' + lt_server_port,
|
||||
};
|
||||
@@ -97,7 +97,7 @@ test('query localtunnel server w/ ident', function(done) {
|
||||
}
|
||||
});
|
||||
|
||||
test('shutdown', function() {
|
||||
after('shutdown', function() {
|
||||
localtunnel_server.close();
|
||||
});
|
||||
|
||||
|
||||
68
test/simple.js
Normal file
68
test/simple.js
Normal file
@@ -0,0 +1,68 @@
|
||||
var http = require('http');
|
||||
var url = require('url');
|
||||
var assert = require('assert');
|
||||
var localtunnel = require('localtunnel');
|
||||
|
||||
var localtunnel_server = require('../server')({
|
||||
max_tcp_sockets: 2
|
||||
});
|
||||
|
||||
var lt_server_port
|
||||
|
||||
suite('simple');
|
||||
|
||||
test('set up localtunnel server', function(done) {
|
||||
var server = localtunnel_server.listen(function() {
|
||||
lt_server_port = server.address().port;
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('set up local http server', function(done) {
|
||||
var server = http.createServer(function(req, res) {
|
||||
res.end('hello world!');
|
||||
});
|
||||
|
||||
server.listen(function() {
|
||||
test._fake_port = server.address().port;
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('set up localtunnel client', function(done) {
|
||||
var opt = {
|
||||
host: 'http://localhost:' + lt_server_port,
|
||||
};
|
||||
|
||||
localtunnel(test._fake_port, opt, function(err, tunnel) {
|
||||
assert.ifError(err);
|
||||
var url = tunnel.url;
|
||||
assert.ok(new RegExp('^http:\/\/.*localhost:' + lt_server_port + '$').test(url));
|
||||
test._fake_url = url;
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
|
||||
test('should respond to request', function(done) {
|
||||
var hostname = url.parse(test._fake_url).hostname;
|
||||
var opt = {
|
||||
host: 'localhost',
|
||||
port: lt_server_port,
|
||||
headers: {
|
||||
host: hostname + '.tld'
|
||||
}
|
||||
};
|
||||
|
||||
http.get(opt, function(res) {
|
||||
var body = '';
|
||||
res.setEncoding('utf-8');
|
||||
res.on('data', function(chunk) {
|
||||
body += chunk;
|
||||
});
|
||||
|
||||
res.on('end', function() {
|
||||
assert.equal(body, 'hello world!');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user