9 Commits

Author SHA1 Message Date
Roman Shtylman
3026d6a42c 1.2.0 2014-04-28 19:00:12 -04:00
Roman Shtylman
abd461f83a Merge pull request #47 from dscape/patch-1
return client from 'localtunnel' api call
2014-04-28 18:58:54 -04:00
Nuno Job
2acea3d77f Return client
This allows manipulating the client from outside. Allowing, for example, to close a connection.
2014-04-28 23:32:00 +01:00
Roman Shtylman
5d0eb3382a add --version CLI flag to get version info 2014-04-22 19:55:19 -04:00
Roman Shtylman
3b67c8a8ce 1.1.2 2014-04-20 10:51:24 -04:00
Kevin Ingersoll
71552a336e Increase default Mocha timeout 2014-04-20 10:45:21 -04:00
Roman Shtylman
87a23bf28c fix status code check for url request 2014-04-19 19:33:52 -04:00
Roman Shtylman
3d54de851f handle errors from localtunnel server when requesting initial url 2014-04-19 19:30:44 -04:00
Roman Shtylman
92bb807908 fix typo
fixes #45
2014-04-18 09:34:48 -04:00
3 changed files with 24 additions and 5 deletions

View File

@@ -3,7 +3,6 @@ var lt_client = require('../client');
var argv = require('optimist')
.usage('Usage: $0 --port [num]')
.demand(['port'])
.options('host', {
default: 'http://localtunnel.me',
describe: 'upstream server providing forwarding'
@@ -14,16 +13,30 @@ var argv = require('optimist')
.options('local-host', {
describe: 'tunnel traffic to this host instead of localhost'
})
.options('version', {
describe: 'print version and exit'
})
.default('local-host', 'localhost')
.describe('port', 'internal http server port')
.argv;
if (argv.version) {
console.log(require('../package.json').version);
process.exit(0);
}
if (argv.port == null) {
require('optimist').showHelp();
console.error('Missing required arguments: port');
process.exit(1);
}
var opt = {
host: argv.host,
port: argv.port,
local_host: argv['local-host'],
subdomain: argv.subdomain,
}
};
lt_client(opt.port, opt, function(err, tunnel) {
if (err) {

View File

@@ -120,7 +120,7 @@ TunnelCluster.prototype.open = function() {
remote.removeListener('close', remote_close);
if (err.code !== 'ECONNREFUSED') {
return remove.end();
return remote.end();
}
// retrying connection to local server
@@ -199,6 +199,11 @@ Tunnel.prototype._init = function(cb) {
return setTimeout(get_url, 1000);
}
if (res.statusCode !== 200) {
var err = new Error((body && body.message) || 'localtunnel server returned an error, please try again');
return cb(err);
}
var port = body.port;
var host = upstream.hostname;
@@ -307,4 +312,5 @@ module.exports = function localtunnel(port, opt, fn) {
fn(null, client);
});
return client;
};

View File

@@ -2,7 +2,7 @@
"author": "Roman Shtylman <shtylman@gmail.com>",
"name": "localtunnel",
"description": "expose localhost to the world",
"version": "1.1.1",
"version": "1.2.0",
"repository": {
"type": "git",
"url": "git://github.com/shtylman/localtunnel.git"
@@ -16,7 +16,7 @@
"mocha": "~1.17.0"
},
"scripts": {
"test": "mocha --ui qunit --reporter list -- test/index.js"
"test": "mocha --ui qunit --reporter list --timeout 10000 -- test/index.js"
},
"bin": {
"lt": "./bin/client"