Get Requests and Caching
Connect supports performing idempotent, side-effect free requests using an HTTP GET-based protocol. This makes it easier to cache certain kinds of requests in the browser, on your CDN, or in proxies and other middleboxes.
First, configure your server to handle HTTP GET requests using Connect. Refer to the documentation that corresponds to your server:
Afterwards, ensure that a new enough version of @connectrpc/connect-web
is set
up; HTTP GET support is available in Connect Web v0.9.0 or newer. Then, you can
specify the useHttpGet
option when creating the Connect transport:
const transport = createConnectTransport({
baseUrl: "https://demo.connectrpc.com",
useHttpGet: true,
});
const client = createPromiseClient(ElizaService, transport);
const response = await client.say(request);
console.log(response);
Methods annotated as side-effect free will use GET requests. All other requests will continue to use POST.