Add support for @improbable-eng/grpc-web

This issue has been tracked since 2023-01-13.

Is your feature request related to a problem? Please describe.

I would like to use @improbable-eng/grpc-web as a gRPC client to be able to use bidirectional streams

Describe the solution you'd like

Something similar to this but for @improbable-eng/grpc-web

import * as grpc from "@grpc/grpc-js";

const client = createGrpcClient(ElizaService, { 
   address: "localhost",
   channelCredentials: grpc.ChannelCredentials.createInsecure()

client.say({ sentence: "Hello" }, (err: grpc.ServiceError | null, value?: SayResponse) => {
timostamm wrote this answer on 2023-02-06

@euskadi31, according to their README, @improbable-eng/grpc-web is a:

Library for making gRPC-Web requests from a browser

@bufbuild/connect-web implements the Connect protocol, but it also implements the gRPC-web protocol. To make a request with gRPC-web:

import { createGrpcWebTransport } from "@bufbuild/connect-web";

const transport = createGrpcWebTransport({
  baseUrl: "http://localhost",
const client = createPromiseClient(ElizaService, transport);
const res = await client.say({sentence: "Hello"});

You can find the documentation here.

If you are asking for callback-based clients, you can simply use createCallbackClient() instead of createPromiseClient(). You also have to option to create your own client. This is documented here.

Closing this, but please feel free to comment in case I missed something.

More Details About Repo
Owner Name bufbuild
Repo Name connect-es
Full Name bufbuild/connect-es
Language TypeScript
Created Date 2022-02-16
Updated Date 2023-03-24
Star Count 852
Watcher Count 20
Fork Count 33
Issue Count 17


Issue Title Created Date Updated Date