mirror of
https://github.com/bitinflow/localtunnel.git
synced 2026-03-13 13:35:54 +00:00
add _request_ event to print basic request information
This commit is contained in:
@@ -74,6 +74,7 @@ The `tunnel` instance returned to your callback emits the following events
|
|||||||
|
|
||||||
|event|args|description|
|
|event|args|description|
|
||||||
|----|----|----|
|
|----|----|----|
|
||||||
|
|request|info|fires when a request is processed by the tunnel, contains _method_ and _path_ fields|
|
||||||
|error|err|fires when an error happens on the tunnel|
|
|error|err|fires when an error happens on the tunnel|
|
||||||
|close||fires when the tunnel has closed|
|
|close||fires when the tunnel has closed|
|
||||||
|
|
||||||
|
|||||||
16
bin/client
16
bin/client
@@ -26,12 +26,11 @@ var argv = require('yargs')
|
|||||||
alias: 'port',
|
alias: 'port',
|
||||||
describe: 'Internal http server port',
|
describe: 'Internal http server port',
|
||||||
})
|
})
|
||||||
.option('d', {
|
.option('print-requests', {
|
||||||
alias: 'debug-logs',
|
describe: 'Print basic request info',
|
||||||
describe: 'Print Request Headers',
|
|
||||||
})
|
})
|
||||||
.require('port')
|
.require('port')
|
||||||
.boolean('debug-logs')
|
.boolean('print-requests')
|
||||||
.help('help', 'Show this help and exit')
|
.help('help', 'Show this help and exit')
|
||||||
.version(require('../package').version)
|
.version(require('../package').version)
|
||||||
.argv;
|
.argv;
|
||||||
@@ -47,9 +46,10 @@ var opt = {
|
|||||||
port: argv.port,
|
port: argv.port,
|
||||||
local_host: argv['local-host'],
|
local_host: argv['local-host'],
|
||||||
subdomain: argv.subdomain,
|
subdomain: argv.subdomain,
|
||||||
debug_logs: argv['debug-logs'],
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const PrintRequests = argv['print-requests'];
|
||||||
|
|
||||||
lt_client(opt.port, opt, function(err, tunnel) {
|
lt_client(opt.port, opt, function(err, tunnel) {
|
||||||
if (err) {
|
if (err) {
|
||||||
throw err;
|
throw err;
|
||||||
@@ -64,6 +64,12 @@ lt_client(opt.port, opt, function(err, tunnel) {
|
|||||||
tunnel.on('error', function(err) {
|
tunnel.on('error', function(err) {
|
||||||
throw err;
|
throw err;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (PrintRequests) {
|
||||||
|
tunnel.on('request', function(info) {
|
||||||
|
console.log(new Date().toString(), info.method, info.path);
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// vim: ft=javascript
|
// vim: ft=javascript
|
||||||
|
|||||||
@@ -77,7 +77,6 @@ Tunnel.prototype._establish = function(info) {
|
|||||||
|
|
||||||
info.local_host = opt.local_host;
|
info.local_host = opt.local_host;
|
||||||
info.local_port = opt.port;
|
info.local_port = opt.port;
|
||||||
info.debug_logs = opt.debug_logs;
|
|
||||||
|
|
||||||
var tunnels = self.tunnel_cluster = TunnelCluster(info);
|
var tunnels = self.tunnel_cluster = TunnelCluster(info);
|
||||||
|
|
||||||
@@ -124,6 +123,10 @@ Tunnel.prototype._establish = function(info) {
|
|||||||
tunnels.open();
|
tunnels.open();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
tunnels.on('request', function(info) {
|
||||||
|
self.emit('request', info);
|
||||||
|
});
|
||||||
|
|
||||||
// establish as many tunnels as allowed
|
// establish as many tunnels as allowed
|
||||||
for (var count = 0 ; count < info.max_conn ; ++count) {
|
for (var count = 0 ; count < info.max_conn ; ++count) {
|
||||||
tunnels.open();
|
tunnels.open();
|
||||||
|
|||||||
@@ -30,8 +30,6 @@ TunnelCluster.prototype.open = function() {
|
|||||||
var local_host = opt.local_host || 'localhost';
|
var local_host = opt.local_host || 'localhost';
|
||||||
var local_port = opt.local_port;
|
var local_port = opt.local_port;
|
||||||
|
|
||||||
var debug_logs = opt.debug_logs;
|
|
||||||
|
|
||||||
debug('establishing tunnel %s:%s <> %s:%s', local_host, local_port, remote_host, remote_port);
|
debug('establishing tunnel %s:%s <> %s:%s', local_host, local_port, remote_host, remote_port);
|
||||||
|
|
||||||
// connection to localtunnel server
|
// connection to localtunnel server
|
||||||
@@ -116,15 +114,12 @@ TunnelCluster.prototype.open = function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
remote.on('data', function(data) {
|
remote.on('data', function(data) {
|
||||||
if (debug_logs) {
|
const match = data.toString().match(/^(\w+) (\S+)/);
|
||||||
var match = data.toString().match(/^(\w+) (\S+)/);
|
if (match) {
|
||||||
if (match) {
|
self.emit('request', {
|
||||||
console.log(
|
method: match[1],
|
||||||
new Date().toString(),
|
path: match[2],
|
||||||
`method=${match[1]}`,
|
});
|
||||||
`path=${match[2]}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user