connectrpc / connect-es

The TypeScript implementation of Connect: Protobuf RPC that works.
https://connectrpc.com/
Apache License 2.0
1.39k stars 82 forks source link

V2: Remove "credentials" option from transports #1242

Closed timostamm closed 2 months ago

timostamm commented 2 months ago

Transports from @connectrpc/connect-web have the "credentials" option, which is passed to the fetch call. The option passes through interceptors as well, in the "init" property of intercepted requests. The "init" property allows to change other fetch options in interceptors.

We later added the "fetch" option to transports, which allows to override the implementation used by the transport. This option provides a more simple and homogeneous way to set options for the fetch API. For example:

createConnectTransport({
  baseUrl: "/",
  fetch: (input, init) => fetch(input, {...init, credentials: "include"}),
});

We are removing the "credentials" option in v2. The "init" property of intercepted requests is also removed. As a replacement to determine whether an incoming request is a Connect GET request in server-side interceptors, the property requestMethod: string is added to intercepted requests. This property is symmetrical to HandlerContext.requestMethod.