added subdomain support
This commit is contained in:
+41
-1
@@ -4,7 +4,8 @@ var assert = require('assert');
|
||||
var localtunnel = require('localtunnel');
|
||||
|
||||
var localtunnel_server = require('../server')({
|
||||
max_tcp_sockets: 2
|
||||
max_tcp_sockets: 2,
|
||||
subHost: ['nested.sub','nested','sub']
|
||||
});
|
||||
|
||||
var lt_server_port
|
||||
@@ -32,6 +33,7 @@ test('set up local http server', function(done) {
|
||||
test('set up localtunnel client', function(done) {
|
||||
var opt = {
|
||||
host: 'http://localhost:' + lt_server_port,
|
||||
subdomain: 'txyz'
|
||||
};
|
||||
|
||||
localtunnel(test._fake_port, opt, function(err, tunnel) {
|
||||
@@ -66,3 +68,41 @@ test('should respond to request', function(done) {
|
||||
});
|
||||
});
|
||||
});
|
||||
test('set up localtunnel client (sub-host)', function (done) {
|
||||
var opt = {
|
||||
host: 'http://nested.sub.localhost:' + lt_server_port,
|
||||
subdomain: 'txyz'
|
||||
};
|
||||
|
||||
localtunnel(test._fake_port, opt, function (err, tunnel) {
|
||||
console.log(url);
|
||||
assert.ifError(err);
|
||||
var url = tunnel.url;
|
||||
assert.ok(new RegExp('^http:\/\/.*nested.sub.localhost:' + lt_server_port + '$').test(url));
|
||||
test._fake_url = url;
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
|
||||
test('should respond to request (sub-host)', function (done) {
|
||||
var hostname = url.parse(test._fake_url).hostname;
|
||||
var opt = {
|
||||
host: 'nested.sub.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();
|
||||
});
|
||||
});
|
||||
});
|
||||
+33
-1
@@ -6,7 +6,8 @@ var WebSocket = require('ws');
|
||||
var WebSocketServer = require('ws').Server;
|
||||
|
||||
var localtunnel_server = require('../server')({
|
||||
max_tcp_sockets: 2
|
||||
max_tcp_sockets: 2,
|
||||
subHost: ['sub']
|
||||
});
|
||||
|
||||
var lt_server_port
|
||||
@@ -72,3 +73,34 @@ test('websocket server request', function(done) {
|
||||
ws.send('something');
|
||||
});
|
||||
});
|
||||
test('set up localtunnel client (sub host)', function (done) {
|
||||
var opt = {
|
||||
host: 'http://sub.localhost:' + lt_server_port
|
||||
};
|
||||
|
||||
localtunnel(test._fake_port, opt, function (err, tunnel) {
|
||||
assert.ifError(err);
|
||||
var url = tunnel.url;
|
||||
assert.ok(new RegExp('^http:\/\/.*sub.localhost:' + lt_server_port + '$').test(url));
|
||||
test._fake_url = url;
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
|
||||
test('websocket server request (sub-host)', function (done) {
|
||||
var hostname = url.parse(test._fake_url).hostname;
|
||||
var ws = new WebSocket('http://sub.localhost:' + lt_server_port, {
|
||||
headers: {
|
||||
host: hostname + '.tld'
|
||||
}
|
||||
});
|
||||
|
||||
ws.on('message', function (msg) {
|
||||
assert.equal(msg, 'something');
|
||||
done();
|
||||
});
|
||||
|
||||
ws.on('open', function open() {
|
||||
ws.send('something');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user