Skip to content

Connect to any GRPC service from a browser via a WebSocket Proxy Server

Notifications You must be signed in to change notification settings

gabrielgrant/grpc-bus-websocket-proxy-client

Repository files navigation

GRPC-Bus WebSocket Proxy Client

This client library connects a browser's JavaScript context to standard GRPC service(s) via a WebSocket Proxy Server with full support for bi-directional streaming (ie both server-initiated or client-initiated)

Install

npm install grpc-bus-websocket-client

You'll also need to install and run a GRPC Bus WebSocket Proxy Server

Usage

new GBC(<grpc-bus-websocket-proxy address>, <protofile>, <service map>)

Example

var GBC = require("grpc-bus-websocket-client");

new GBC("ws://localhost:8080/", 'helloworld.proto', {helloworld: {Greeter: 'localhost:50051'}})
  .connect()
  .then(function(gbc) {
    gbc.services.helloworld.Greeter.sayHello({name: 'Gabriel'}, function(err, res){
      console.log(res);
    });  // --> Hello Gabriel
  });

For more complex proto defs that import other .proto files, the proto def tree should be compiled into a single JSON file using the pbjs command line utility included with the protobufjs lib from NPM.

After installing grpc-bus-websocket-client, run the compilation from your project directory:

./node_modules/protobufjs/bin/pbjs helloworld.proto > helloworld.proto.json

About

Connect to any GRPC service from a browser via a WebSocket Proxy Server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published