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);
+}