File size: 1,197 Bytes
d7dfeff
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const grpc = require("@grpc/grpc-js");
const protoLoader = require("@grpc/proto-loader");
const path = require("path");

const getgRPCConnection = (session) => {
  return new Promise((resolve, reject) => {
    protoLoader
      .load(path.join(__dirname, "text_to_speech.proto"), {
        keepCase: true,
        longs: String,
        enums: String,
        defaults: true,
        oneofs: true,
      })
      .then((packageDefinition) => {
        const textToSpeechProto = grpc.loadPackageDefinition(packageDefinition).texttospeech;
        const client = new textToSpeechProto.TextToSpeechService(
          "localhost:8081",
          grpc.credentials.createInsecure()
        );
        session.client = client;
        const channel = session.client.getChannel();
        session.channel = channel;
        console.log("Made connection");
        session.client = client;


        const call = client.ProcessText();
        resolve(call);

      })
      .catch((error) => {
        session.client = null;
        console.error("Error loading proto file:", error);
        reject(new Error("Error in making gRPC Connection."));
      });
  });
};

module.exports = { getgRPCConnection };