0.7.0 • Published 1 year ago

@domino14/connect-web v0.7.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 year ago

@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.