blob: 999cd85b381933286666adba48003e4387010f0f [file] [log] [blame]
Jens Geyer72a714e2025-08-26 22:12:07 +02001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
Cameron Martincaef0ed2025-01-15 11:58:39 +010020var thrift = require("thrift");
21var helloSvc = require("./gen-nodejs/HelloSvc");
ra779b9ac2014-04-23 20:04:23 -070022
Cameron Martincaef0ed2025-01-15 11:58:39 +010023//ServiceHandler: Implement the hello service
ra779b9ac2014-04-23 20:04:23 -070024var helloHandler = {
25 hello_func: function (result) {
26 console.log("Received Hello call");
27 result(null, "Hello from Node.js");
Cameron Martincaef0ed2025-01-15 11:58:39 +010028 },
ra779b9ac2014-04-23 20:04:23 -070029};
30
31//ServiceOptions: The I/O stack for the service
Cameron Martincaef0ed2025-01-15 11:58:39 +010032var helloSvcOpt = {
33 handler: helloHandler,
34 processor: helloSvc,
35 protocol: thrift.TJSONProtocol,
36 transport: thrift.TBufferedTransport,
37};
ra779b9ac2014-04-23 20:04:23 -070038
39//ServerOptions: Define server features
Cameron Martincaef0ed2025-01-15 11:58:39 +010040var serverOpt = {
41 services: {
42 "/hello": helloSvcOpt,
43 },
44};
ra779b9ac2014-04-23 20:04:23 -070045
Cameron Martincaef0ed2025-01-15 11:58:39 +010046//Create and start the web server
47var port = 9090;
48thrift.createWebServer(serverOpt).listen(port);
ra779b9ac2014-04-23 20:04:23 -070049console.log("Http/Thrift Server running on port: " + port);