Cameron Martin | caef0ed | 2025-01-15 11:58:39 +0100 | [diff] [blame] | 1 | var thrift = require("thrift"); |
| 2 | var helloSvc = require("./gen-nodejs/HelloSvc"); |
ra | 779b9ac | 2014-04-23 20:04:23 -0700 | [diff] [blame] | 3 | |
Cameron Martin | caef0ed | 2025-01-15 11:58:39 +0100 | [diff] [blame] | 4 | //ServiceHandler: Implement the hello service |
ra | 779b9ac | 2014-04-23 20:04:23 -0700 | [diff] [blame] | 5 | var helloHandler = { |
| 6 | hello_func: function (result) { |
| 7 | console.log("Received Hello call"); |
| 8 | result(null, "Hello from Node.js"); |
Cameron Martin | caef0ed | 2025-01-15 11:58:39 +0100 | [diff] [blame] | 9 | }, |
ra | 779b9ac | 2014-04-23 20:04:23 -0700 | [diff] [blame] | 10 | }; |
| 11 | |
| 12 | //ServiceOptions: The I/O stack for the service |
Cameron Martin | caef0ed | 2025-01-15 11:58:39 +0100 | [diff] [blame] | 13 | var helloSvcOpt = { |
| 14 | handler: helloHandler, |
| 15 | processor: helloSvc, |
| 16 | protocol: thrift.TJSONProtocol, |
| 17 | transport: thrift.TBufferedTransport, |
| 18 | }; |
ra | 779b9ac | 2014-04-23 20:04:23 -0700 | [diff] [blame] | 19 | |
| 20 | //ServerOptions: Define server features |
Cameron Martin | caef0ed | 2025-01-15 11:58:39 +0100 | [diff] [blame] | 21 | var serverOpt = { |
| 22 | services: { |
| 23 | "/hello": helloSvcOpt, |
| 24 | }, |
| 25 | }; |
ra | 779b9ac | 2014-04-23 20:04:23 -0700 | [diff] [blame] | 26 | |
Cameron Martin | caef0ed | 2025-01-15 11:58:39 +0100 | [diff] [blame] | 27 | //Create and start the web server |
| 28 | var port = 9090; |
| 29 | thrift.createWebServer(serverOpt).listen(port); |
ra | 779b9ac | 2014-04-23 20:04:23 -0700 | [diff] [blame] | 30 | console.log("Http/Thrift Server running on port: " + port); |