THRIFT-2369 Add ssl support for nodejs implementation
Patch: Pierre Lamot
diff --git a/lib/nodejs/test/server.js b/lib/nodejs/test/server.js
index da9a4d6..69519ab 100644
--- a/lib/nodejs/test/server.js
+++ b/lib/nodejs/test/server.js
@@ -22,6 +22,8 @@
// TFramedTransport
// TSocket
+var fs = require('fs');
+var path = require('path');
var thrift = require('thrift');
var ThriftTransports = require('thrift/transport');
var ThriftProtocols = require('thrift/protocol');
@@ -34,6 +36,7 @@
program
.option('-p, --protocol <protocol>', 'Set thift protocol (binary|json) [protocol]')
.option('-t, --transport <transport>', 'Set thift transport (buffered|framed) [transport]')
+ .option('--ssl', 'use ssl transport')
.parse(process.argv);
var protocol = undefined;
@@ -57,7 +60,18 @@
transport = ThriftTransports.TBufferedTransport;
}
-thrift.createServer(ThriftTest, ThriftTestHandler, {
+var options = {
protocol: protocol,
transport: transport
-}).listen(9090);
+};
+
+if (program.ssl) {
+ //ssl options
+ options.key = fs.readFileSync(path.resolve(__dirname, 'server.key'));
+ options.cert = fs.readFileSync(path.resolve(__dirname, 'server.crt'));
+ thrift.createSSLServer(ThriftTest, ThriftTestHandler, options).listen(9090);
+
+} else {
+ //default
+ thrift.createServer(ThriftTest, ThriftTestHandler, options).listen(9090);
+}