createConnectTransport function

Transport createConnectTransport(
  1. Uri address, {
  2. required RpcHttpClientHandle httpClient,
  3. List<Interceptor> interceptors = const [],
  4. Compression? sendCompression,
  5. List<Compression>? acceptCompressions,
})

Creates a Connect-protocol Transport for address, with binary protobuf on every platform; swapping the codec makes it JSON.

One RpcHttpClientHandle is shared across transports so every service multiplexes the per-origin HTTP/2 connections. interceptors wrap outermost first, in list order.

Compression is a transport option rather than a middleware. acceptCompressions defaults to the platform's defaultAcceptCompressions: gzip response decoding on the VM, nothing on web. sendCompression is off unless a deployment turns it on, for example with connectrpc's GzipCompression.

Implementation

Transport createConnectTransport(
  Uri address, {
  required RpcHttpClientHandle httpClient,
  List<Interceptor> interceptors = const [],
  Compression? sendCompression,
  List<Compression>? acceptCompressions,
}) => connect_protocol.Transport(
  baseUrl: address.toString(),
  codec: const ProtoCodec(),
  httpClient: httpClient.client,
  interceptors: interceptors,
  sendCompression: sendCompression,
  acceptCompressions: acceptCompressions ?? defaultAcceptCompressions,
);