@domino14/connect-web
v0.7.0
Published
This is the runtime library package for Connect-Web. You'll find its code generator at [@bufbuild/protoc-gen-connect-web](https://www.npmjs.com/package/@bufbuild/protoc-gen-connect-web).
Downloads
3
Readme
@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.