fix paired-duplex example

This commit is contained in:
AJ ONeal 2016-10-11 14:49:52 -06:00
parent 0ca2c91731
commit 71c7a8378f
1 changed files with 13 additions and 4 deletions

View File

@ -96,6 +96,10 @@ var token = jwt.sign(tokenData, secret);
Let's say you want to handle http requests in-process Let's say you want to handle http requests in-process
or decrypt https before passing it to the local http handler. or decrypt https before passing it to the local http handler.
You'll need to create a pair of streams to connect between the
local handler and the tunnel handler.
You could do a little magic like this: You could do a little magic like this:
``` ```
@ -116,11 +120,16 @@ stunnel.connect({
createConnection: function (info, cb) { createConnection: function (info, cb) {
// data is the hello packet / first chunk // data is the hello packet / first chunk
// info = { data, servername, port, host, remoteAddress: { family, address, port } } // info = { data, servername, port, host, remoteAddress: { family, address, port } }
// socket = { write, push, end, events: [ 'readable', 'data', 'error', 'end' ] };
var myDuplex = new (require('streams').Duplex); var myDuplex = new (require('streams').Duplex)();
var myDuplex2 = new (require('streams').Duplex)();
// duplex = { write, push, end, events: [ 'readable', 'data', 'error', 'end' ] };
myDuplex.__my_socket = socket; myDuplex2.__my_socket = myDuplex;
myDuplex2._write = Dup.write;
myDuplex2._read = Dup.read;
myDuplex.__my_socket = myDuplex2;
myDuplex._write = Dup.write; myDuplex._write = Dup.write;
myDuplex._read = Dup.read; myDuplex._read = Dup.read;
@ -139,7 +148,7 @@ stunnel.connect({
cb(); cb();
} }
return myDuplex; return myDuplex2;
} }
}); });
``` ```