SearchClient constructor
SearchClient({
- required String appId,
- required String apiKey,
- ClientOptions options = const ClientOptions(),
Implementation
SearchClient({
required String appId,
required String apiKey,
this.options = const ClientOptions(),
}) : _retryStrategy = RetryStrategy.create(
segment:
AgentSegment(value: "Algoliasearch", version: packageVersion),
appId: appId,
apiKey: apiKey,
requestIdSupport: true,
options: ClientOptions(
connectTimeout: Duration(milliseconds: 2000),
readTimeout: Duration(milliseconds: 5000),
writeTimeout: Duration(milliseconds: 30000),
hosts: options.hosts,
headers: options.headers,
agentSegments: options.agentSegments,
logger: options.logger,
requester: options.requester,
interceptors: options.interceptors,
httpClientAdapter: options.httpClientAdapter,
compression: options.compression,
requestIdEnabled: options.requestIdEnabled,
),
defaultHosts: () =>
[
Host(url: '$appId-dsn.algolia.net', callType: CallType.read),
Host(url: '$appId.algolia.net', callType: CallType.write),
] +
([
Host(url: '$appId-1.algolianet.com'),
Host(url: '$appId-2.algolianet.com'),
Host(url: '$appId-3.algolianet.com'),
]..shuffle()),
) {
assert(appId.isNotEmpty, '`appId` is missing.');
assert(apiKey.isNotEmpty, '`apiKey` is missing.');
}