
commonMain.com.algolia.client.configuration.ClientOptions.kt Maven / Gradle / Ivy
package com.algolia.client.configuration
import com.algolia.client.transport.Requester
import io.ktor.client.*
import io.ktor.client.engine.*
import io.ktor.client.plugins.logging.*
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonBuilder
import kotlin.time.Duration
public expect class ClientOptions(
connectTimeout: Duration? = null,
writeTimeout: Duration? = null,
readTimeout: Duration? = null,
logLevel: LogLevel = LogLevel.NONE,
logger: Logger = Logger.DEFAULT,
hosts: List? = null,
defaultHeaders: Map? = null,
engine: HttpClientEngine? = null,
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
jsonConfig: ((JsonBuilder) -> Unit)? = null,
requester: Requester? = null,
algoliaAgentSegments: List = emptyList(),
) {
/** Connect timeout for each request */
public val connectTimeout: Duration?
/** The timeout for each request when performing write operations. */
public val writeTimeout: Duration?
/** The timeout for each request when performing read operations. */
public val readTimeout: Duration?
/** [LogLevel] to display in the console. */
public val logLevel: LogLevel
/** [Logger] to use for logs. */
public val logger: Logger
/** Custom list of hosts and back-up host used to perform a custom retry logic. */
public val hosts: List?
/** Optional default headers that should be applied to every request. */
public val defaultHeaders: Map?
/** An optional [HttpClientEngine] to specify which HttpEngine should be used by Ktor. */
public val engine: HttpClientEngine?
/** An optional [HttpClientConfig] used by Ktor for advanced HttpClient configuration. */
public val httpClientConfig: ((HttpClientConfig<*>) -> Unit)?
/** Json serialization instance */
public val json: Json
/** Custom Http Requester. */
public val requester: Requester?
/** List of Algolia agent segments */
public val algoliaAgentSegments: List
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy