Replace 'request' with 'axios' (#214)

This commit is contained in:
C. K. Tang
2018-01-07 12:13:22 -06:00
committed by Roman Shtylman
parent 4c136a265c
commit 578dc9aaae
2 changed files with 17 additions and 20 deletions

View File

@@ -1,6 +1,6 @@
var url = require('url'); var url = require('url');
var EventEmitter = require('events').EventEmitter; var EventEmitter = require('events').EventEmitter;
var request = require('request'); var axios = require('axios');
var debug = require('debug')('localtunnel:client'); var debug = require('debug')('localtunnel:client');
var TunnelCluster = require('./TunnelCluster'); var TunnelCluster = require('./TunnelCluster');
@@ -26,8 +26,7 @@ Tunnel.prototype._init = function(cb) {
var opt = self._opt; var opt = self._opt;
var params = { var params = {
path: '/', responseType: 'json'
json: true
}; };
var base_uri = opt.host + '/'; var base_uri = opt.host + '/';
@@ -39,26 +38,19 @@ Tunnel.prototype._init = function(cb) {
var assigned_domain = opt.subdomain; var assigned_domain = opt.subdomain;
// where to quest // where to quest
params.uri = base_uri + ((assigned_domain) ? assigned_domain : '?new'); var uri = base_uri + ((assigned_domain) ? assigned_domain : '?new');
(function get_url() { (function get_url() {
request(params, function(err, res, body) { axios.get(uri, params)
if (err) { .then(function(res){
// TODO (shtylman) don't print to stdout? var body = res.data;
console.log('tunnel server offline: ' + err.message + ', retry 1s'); if (res.status !== 200) {
return setTimeout(get_url, 1000); var err = new Error((body && body.message) || 'localtunnel server returned an error, please try again');
}
if (res.statusCode !== 200) {
var err = new Error((body && body.message) || 'localtunnel server returned an error, please try again');
return cb(err); return cb(err);
} }
var port = body.port; var port = body.port;
var host = upstream.hostname; var host = upstream.hostname;
var max_conn = body.max_conn_count || 1; var max_conn = body.max_conn_count || 1;
cb(null, { cb(null, {
remote_host: upstream.hostname, remote_host: upstream.hostname,
remote_port: body.port, remote_port: body.port,
@@ -66,7 +58,12 @@ Tunnel.prototype._init = function(cb) {
url: body.url, url: body.url,
max_conn: max_conn 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);
})
})(); })();
}; };

View File

@@ -9,10 +9,10 @@
"url": "git://github.com/localtunnel/localtunnel.git" "url": "git://github.com/localtunnel/localtunnel.git"
}, },
"dependencies": { "dependencies": {
"request": "2.81.0", "axios": "0.17.1",
"yargs": "3.29.0",
"debug": "2.6.8", "debug": "2.6.8",
"openurl": "1.1.1" "openurl": "1.1.1",
"yargs": "3.29.0"
}, },
"devDependencies": { "devDependencies": {
"mocha": "~1.17.0" "mocha": "~1.17.0"