
commonMain.com.algolia.search.configuration.ConfigurationPlaces.kt Maven / Gradle / Ivy
@file:Suppress("FunctionName")
package com.algolia.search.configuration
import com.algolia.search.client.ClientPlaces
import com.algolia.search.configuration.internal.ConfigurationPlacesImpl
import com.algolia.search.configuration.internal.DEFAULT_LOG_LEVEL
import com.algolia.search.configuration.internal.DEFAULT_READ_TIMEOUT
import com.algolia.search.configuration.internal.DEFAULT_WRITE_TIMEOUT
import com.algolia.search.logging.LogLevel
import com.algolia.search.logging.Logger
import com.algolia.search.transport.internal.placesHosts
import io.ktor.client.HttpClientConfig
import io.ktor.client.engine.HttpClientEngine
/**
* Configuration used by [ClientPlaces].
*/
public interface ConfigurationPlaces : Configuration
/**
* Create a [ConfigurationPlaces] instance.
*
* @param writeTimeout write timout
* @param readTimeout read timeout
* @param logLevel logging level
* @param hosts insights region hosts
* @param defaultHeaders default headers
* @param engine http client engine
* @param httpClientConfig http client configuration
*/
public fun ConfigurationPlaces(
writeTimeout: Long = DEFAULT_WRITE_TIMEOUT,
readTimeout: Long = DEFAULT_READ_TIMEOUT,
logLevel: LogLevel = DEFAULT_LOG_LEVEL,
hosts: List = placesHosts,
defaultHeaders: Map? = null,
engine: HttpClientEngine? = null,
httpClientConfig: (HttpClientConfig<*>.() -> Unit)? = null,
logger: Logger = Logger.Simple,
): ConfigurationPlaces = ConfigurationPlacesImpl(
writeTimeout = writeTimeout,
readTimeout = readTimeout,
logLevel = logLevel,
hosts = hosts,
defaultHeaders = defaultHeaders,
engine = engine,
httpClientConfig = httpClientConfig,
logger = logger,
)
© 2015 - 2025 Weber Informatics LLC | Privacy Policy