@domino14/connect-web
TypeScript icon, indicating that this package has built-in type declarations

0.7.0 • Public • Published

@bufbuild/connect-web

This is the runtime library package for Connect-Web. You'll find its code generator at @bufbuild/protoc-gen-connect-web.

Connect-Web is a simple library to call remote procedures from a web browser. Unlike REST, you get a type-safe client and never have to think about serialization again.

The procedures are defined in a Protocol Buffer schema implemented by your backend, and Connect-Web generates the clients and related types to access the backend. The clients support two protocols: gRPC-web, and Connect's own protocol.

The Connect protocol is a simple, POST-only protocol that works over HTTP/1.1 or HTTP/2. It supports server-streaming methods just like gRPC-Web, but is easy to debug in the network inspector. Calling a Connect API is easy enough just with the fetch API. Try it with our live demo:

const res = await fetch("https://demo.connect.build/buf.connect.demo.eliza.v1.ElizaService/Say", {
  method: "POST",
  headers: {"content-type": "application/json"},
  body: `{"sentence": "I feel happy."}`
});
const answer = await res.json();
console.log(answer);
// {sentence: 'When you feel happy, what do you do?'}

Using the client generated by Connect-Web, the same call becomes quite a bit simpler:

const answer = await eliza.say({sentence: "I feel happy."});
console.log(answer);
// {sentence: 'When you feel happy, what do you do?'}

To get started, head over to the docs for a tutorial, or take a look at our examples for integration with various frameworks.

Readme

Keywords

none

Package Sidebar

Install

npm i @domino14/connect-web

Weekly Downloads

18

Version

0.7.0

License

Apache-2.0

Unpacked Size

158 kB

Total Files

51

Last publish

Collaborators

  • domino14