createTransport function
Transport
createTransport(
- AuthTokenProvider tokenProvider, {
- required String baseUrl,
- void onAuthFailure()?,
Creates a Connect RPC transport for the given baseUrl.
Requires an AuthTokenProvider to be available via Riverpod.
Host apps must provide the authTokenProvider override.
Implementation
Transport createTransport(
AuthTokenProvider tokenProvider, {
required String baseUrl,
void Function()? onAuthFailure,
}) {
final authInterceptor = AuthInterceptor(tokenProvider, () {
if (_globalAuthFailureFired) return;
_globalAuthFailureFired = true;
AppLogger.error('Auth failure — logging out');
tokenProvider.logout();
onAuthFailure?.call();
});
return protocol.Transport(
baseUrl: baseUrl,
codec: const ProtoCodec(),
httpClient: createPlatformHttpClient(),
interceptors: [authInterceptor.call],
useHttpGet: false,
);
}