cloudApiClient property
Client
get
cloudApiClient
Gets a Client
for the Serverpod Cloud.
Will contain the authentication if the user is authenticated.
The client is cached and will be reused for subsequent calls.
Implementation
Client get cloudApiClient {
final localCloudApiClient = _cloudApiClient;
if (localCloudApiClient != null) {
return localCloudApiClient;
}
final Client cloudApiClient;
if (_apiClientFactory != null) {
cloudApiClient = _apiClientFactory(_globalConfiguration);
} else {
final localStoragePath = _globalConfiguration.scloudDir;
final serverAddress = _globalConfiguration.apiServer;
final address =
serverAddress.endsWith('/') ? serverAddress : '$serverAddress/';
final authTokenOverride = _globalConfiguration.authToken;
final cloudDataOverride = authTokenOverride != null
? ServerpodCloudData(authTokenOverride)
: null;
cloudApiClient = Client(
address,
authenticationKeyManager: CliAuthenticationKeyManager(
logger: _logger,
localStoragePath: localStoragePath.path,
cloudDataOverride: cloudDataOverride,
),
connectionTimeout: _globalConfiguration.connectionTimeout,
);
}
_cloudApiClient = cloudApiClient;
return cloudApiClient;
}