THRIFT-2376 nodejs: allow Promise style calls for client and server
patch:  Pierre Lamot
diff --git a/lib/nodejs/test/server.js b/lib/nodejs/test/server.js
index 69519ab..acc0398 100644
--- a/lib/nodejs/test/server.js
+++ b/lib/nodejs/test/server.js
@@ -29,6 +29,7 @@
 var ThriftProtocols = require('thrift/protocol');
 var ThriftTest = require('./gen-nodejs/ThriftTest');
 var ThriftTestHandler = require('./test_handler').ThriftTestHandler;
+var ThriftTestHandlerPromise = require('./test_handler_promise').ThriftTestHandler;
 
 
 var program = require('commander');
@@ -37,10 +38,12 @@
   .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')
+  .option('--promise', 'test with promise style functions')
   .parse(process.argv);
 
 var protocol = undefined;
 var transport =  undefined;
+var handler = undefined;
 
 if (program.protocol === "binary") {
   protocol = ThriftProtocols.TBinaryProtocol;
@@ -60,6 +63,12 @@
   transport = ThriftTransports.TBufferedTransport;
 }
 
+if (program.promise) {
+  handler = ThriftTestHandlerPromise;
+} else {
+  handler = ThriftTestHandler;
+}
+
 var options = {
   protocol: protocol,
   transport: transport
@@ -69,9 +78,9 @@
   //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);
+  thrift.createSSLServer(ThriftTest, handler, options).listen(9090);
 
 } else {
   //default
-  thrift.createServer(ThriftTest, ThriftTestHandler, options).listen(9090);
+  thrift.createServer(ThriftTest, handler, options).listen(9090);
 }