diff --git a/lib/Tunnel.js b/lib/Tunnel.js index 9f5cdd5..050431d 100644 --- a/lib/Tunnel.js +++ b/lib/Tunnel.js @@ -1,6 +1,6 @@ var url = require('url'); var EventEmitter = require('events').EventEmitter; -var request = require('request'); +var axios = require('axios'); var debug = require('debug')('localtunnel:client'); var TunnelCluster = require('./TunnelCluster'); @@ -26,8 +26,7 @@ Tunnel.prototype._init = function(cb) { var opt = self._opt; var params = { - path: '/', - json: true + responseType: 'json' }; var base_uri = opt.host + '/'; @@ -39,26 +38,19 @@ Tunnel.prototype._init = function(cb) { var assigned_domain = opt.subdomain; // where to quest - params.uri = base_uri + ((assigned_domain) ? assigned_domain : '?new'); + var uri = base_uri + ((assigned_domain) ? assigned_domain : '?new'); (function get_url() { - request(params, function(err, res, body) { - if (err) { - // TODO (shtylman) don't print to stdout? - console.log('tunnel server offline: ' + err.message + ', retry 1s'); - return setTimeout(get_url, 1000); - } - - if (res.statusCode !== 200) { - var err = new Error((body && body.message) || 'localtunnel server returned an error, please try again'); + axios.get(uri, params) + .then(function(res){ + var body = res.data; + if (res.status !== 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; - var max_conn = body.max_conn_count || 1; - cb(null, { remote_host: upstream.hostname, remote_port: body.port, @@ -66,7 +58,12 @@ Tunnel.prototype._init = function(cb) { url: body.url, max_conn: max_conn }); - }); + }) + .catch(function(err){ + // TODO (shtylman) don't print to stdout? + console.log('tunnel server offline: ' + err.message + ', retry 1s'); + return setTimeout(get_url, 1000); + }) })(); }; diff --git a/package.json b/package.json index d731aa1..78c8912 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,10 @@ "url": "git://github.com/localtunnel/localtunnel.git" }, "dependencies": { - "request": "2.81.0", - "yargs": "3.29.0", + "axios": "0.17.1", "debug": "2.6.8", - "openurl": "1.1.1" + "openurl": "1.1.1", + "yargs": "3.29.0" }, "devDependencies": { "mocha": "~1.17.0"