Skip to content

Commit f5da182

Browse files
committed
add tls option to logger example
1 parent 709508c commit f5da182

File tree

3 files changed

+33
-59
lines changed

3 files changed

+33
-59
lines changed

.eslintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"parserOptions": {
3-
"ecmaVersion": 5
3+
"ecmaVersion": 6
44
},
55
"plugins": [
66
"security"

examples/logger/index.js

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,49 @@
11
var proxy = require("node-tcp-proxy");
22
var util = require("util");
33
var replace = require('buffer-replace');
4+
var argv = require("commander");
45

5-
var serviceHosts = ["apache.org", "apache.org"];
6-
var servicePorts = [80, 80];
6+
argv
7+
.usage("[options]")
8+
.option("--tls", "Use TLS 1.2; ", false)
9+
.parse(process.argv);
710

8-
var newProxy = proxy.createProxy(8080, serviceHosts, servicePorts, {
11+
var PROXY_HOST = "localhost";
12+
var PROXY_PORT = "8080";
13+
var SERVICE_HOST = "www.baidu.com";
14+
var SERVICE_PORT = argv.tls ? 443: 80;
15+
16+
var serviceHosts = [SERVICE_HOST, SERVICE_HOST];
17+
var servicePorts = [SERVICE_PORT, SERVICE_PORT];
18+
19+
var options = {
920
upstream: function(context, data) {
1021
log(context.proxySocket, data);
11-
data = replace(data, "localhost:8080", "apache.org");
22+
data = replace(data, `${PROXY_HOST}:${PROXY_PORT}`, SERVICE_HOST);
1223
return data;
1324
},
1425
downstream: function(context, data) {
1526
log(context.serviceSocket, data);
16-
data = replace(data, "apache.org", "localhost:8080");
27+
data = replace(data, SERVICE_HOST, `${PROXY_HOST}:${PROXY_PORT}`);
1728
return data;
1829
},
1930
serviceHostSelected: function(proxySocket, i) {
2031
console.log(util.format("Service host %s:%s selected for client %s:%s.",
21-
serviceHosts[i],
22-
servicePorts[i],
32+
serviceHosts[parseInt(i)],
33+
servicePorts[parseInt(i)],
2334
proxySocket.remoteAddress,
2435
proxySocket.remotePort));
2536
// use your own strategy to calculate i
2637
return i;
2738
}
28-
});
39+
};
40+
41+
if (argv.tls) {
42+
options.tls = "both";
43+
}
44+
45+
var newProxy = proxy
46+
.createProxy(PROXY_PORT, serviceHosts, servicePorts, options);
2947

3048
function log(socket, data) {
3149
console.log(util.format("%s:%s sent:",
@@ -36,6 +54,12 @@ function log(socket, data) {
3654

3755
console.log("Open http://localhost:8080 in the browser.");
3856

57+
if (argv.tls) {
58+
console.log("TLS 1.2 is enabled.");
59+
} else {
60+
console.log("Specify --tls in command line if you want to use TLS 1.2.");
61+
}
62+
3963
console.log("press Enter key to quit...");
4064
setTimeout(handleTimeout, 1000);
4165
function handleTimeout() {

examples/tls-logger/index.js

Lines changed: 0 additions & 50 deletions
This file was deleted.

0 commit comments

Comments
 (0)