šŸš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more →
Socket
Sign inDemoInstall
Socket

grpc-pool

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

grpc-pool

Multi GRPC Connection Request handlers at Client End

1.4.0
latest
Source
npm
Version published
Weekly downloads
10
233.33%
Maintainers
1
Weekly downloads
Ā 
Created
Source

grpc-pool Build Status Maintainability

A light-weight efficient implementation for gRPC connection pool.
For detailed documentation please visit this wiki

What's new in 1.4.0 ?

  • Support for statically generated code(protobuf) files

Example

Naming Rules in Proto Files

Names of the RPC function must Match /^_[A-Z]/, meaning it must start with an _ followed by an Upper-Case letter
Sample .proto file:

syntax = "proto3";

package Hello;

service Greeting {
    rpc NotAvailable(Request) returns (Reply) {};
    rpc _Hi(Request) returns (Reply) {};
}

message Request {
    string msg = 1;
}

message Reply {
    string resp = 1;
}

** Note that the RPC NotAvailable will not be exposed by this library

const PROTO_FILE_PATH = path.join(__dirname, 'hello_grpc_pb');
const client = new GRPCClient(PROTO_FILE_PATH, {
    maxConnections : 5,
    packageName    : 'Hello',
    serviceName    : 'Greeting',
    url            : 'localhost:50001',
    prefix         : 'RPC'
});

const { RPC_Hi } = client;

const response = await RPC_Hi({msg: 'Hey Bot!'})

Usage with statically generated code (protobuf)

Note: You must use the same naming convention mentioned for the above protobuf file

const PROTO_FILE_PATH = path.join(__dirname, 'hello_grpc_pb');
const client = new GRPCClient(PROTO_FILE_PATH, {
    maxConnections : 2,
    rpcPrefix      : 'RPC',
    serviceName    : 'Greeting',
    url            : 'localhost:50001',
    staticFile     : true,
});

const { RPC_Hi } = client;

const request = new messages.Request();
request.setMsg('Hi');

const res = await RPC_Hi(request);
expect(res.getResp()).to.be.eql('Hello');

Notice the usage of staticFile flag. Also notice that packageName is not needed when static file is being used.

Installation

npm i lib -S

ES-Lint

npm run lint

Babel

npm run build

Mocha & Chai (Testing)

npm test

Coverage Report

npm run coverage

Contributions

This is open-source, which makes it obvious for any PRs, but I would request you to add necessary test-cases for the same

Keywords

grpc

FAQs

Package last updated on 16 Sep 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts