1.10.1 • Published 5 years ago

gnat-grpc v1.10.1

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

Gnat-Grpc

grpc 的封装,简化 unary calls,目前尚不支持 streaming calls。

Installation

npm install grpc gnat-grpc

Usage

helloworld.proto: 使用官方示例中的 helloworld.proto

public-conf.js:

const gnatGrpc = require('../../');
const grpc = require('grpc');
const protoLoader = require('@grpc/proto-loader');

// 仅能调用一次
gnatGrpc.config({
  grpc,
  protoLoader,
  // cwd, // 默认使用 `process.cwd()`
  // protoDir, // 默认为 `.proto`,即 `<cwd>/.proto`
  // defaultLoaderOpts: { // `protoLoader.load()` 的 load options,以下为默认配置项
  //   keepCase: true,
  //   enums: String,
  //   defaults: true,
  //   oneofs: true
  // },
  // escapeErrorAnyway: false, // 是否强制在 server 端 escape error message,在 client 端 unescape error message,以便支持中文消息。设置为 false 时则根据 grpc 版本决定是否需要处理
});

server.js:

require('./public-conf');
const {Server} = require('gnat-grpc');

const sayHello = async (request, metadata, {setTrailer, setFlags}, call) => {
  return {message: 'Hello ' + args.name};
};

(async () => {
  const PORT = 50051;
  const server = new Server({
    bindPath: `0.0.0.0:${PORT}`
  });
  await server.registerService(
    {filename: 'path/to/helloworld.proto'},
    {sayHello}
  );
  server.start();
})();

client.js:

require('./public-conf');
const {Client} = require('gnat-grpc');

(async () => {
  const PORT = 50051;
  const service = await client.checkout({
    fileLocation: 'local',
    bindPath: `localhost:${PORT}`,
    filename: 'path/to/helloworld.proto',
  });
  const ret = await service.sayHello({name: 'World'});
  console.log(ret); // {message: 'Hello World'}
})();

To Do

// 支持 client retry

1.10.1

5 years ago

1.10.0

5 years ago

1.9.3

5 years ago

1.9.2

5 years ago

1.9.1

5 years ago

1.9.0

5 years ago

1.8.7

5 years ago

1.8.6

5 years ago

1.8.5

5 years ago

1.8.4

5 years ago

1.8.3

5 years ago

1.8.2

5 years ago

1.8.1

5 years ago

1.8.0

5 years ago

1.7.0

5 years ago

1.6.2

5 years ago

1.6.1

5 years ago

1.6.0

5 years ago

1.5.2

5 years ago

1.5.1

5 years ago

1.5.0

5 years ago

1.4.1

5 years ago

1.4.0

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago

1.0.0-beta1.4.3

5 years ago

1.0.0-beta1.4.2

5 years ago

1.0.0-beta1.4.1

5 years ago

1.0.0-beta1.4

5 years ago

1.0.0-beta1.3

5 years ago

1.0.0-beta1.2

5 years ago

1.0.0-beta1.1

5 years ago

1.0.0-beta1

5 years ago

0.8.1

6 years ago

0.8.0

6 years ago

0.7.3

6 years ago

0.7.2

6 years ago

0.7.1

6 years ago

0.7.0

6 years ago

0.6.2

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.5

6 years ago

0.5.4

6 years ago

0.5.3

6 years ago

0.5.2

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.3

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.15

6 years ago

0.2.14

6 years ago

0.2.13

6 years ago

0.2.12

6 years ago

0.2.11

6 years ago

0.2.10

6 years ago

0.2.9

6 years ago

0.2.8

6 years ago

0.2.7

6 years ago

0.2.6

6 years ago

0.2.5

6 years ago

0.2.4

6 years ago

0.2.3

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago