Skip to content

Commit c04eb50

Browse files
algolia-botshortcutsmillotpFluf22
committed
feat(generators): allow per-spec timeouts [skip-bc] (generated)
algolia/api-clients-automation#4173 Co-authored-by: algolia-bot <[email protected]> Co-authored-by: Clément Vannicatte <[email protected]> Co-authored-by: Pierre Millot <[email protected]> Co-authored-by: Thomas Raffray <[email protected]>
1 parent 675c65e commit c04eb50

File tree

13 files changed

+40
-29
lines changed

13 files changed

+40
-29
lines changed

client/src/commonMain/kotlin/com/algolia/client/api/AbtestingClient.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.algolia.client.model.abtesting.*
88
import com.algolia.client.transport.*
99
import com.algolia.client.transport.internal.*
1010
import kotlinx.serialization.json.*
11+
import kotlin.time.Duration.Companion.milliseconds
1112

1213
public class AbtestingClient(
1314
override val appId: String,
@@ -21,7 +22,7 @@ public class AbtestingClient(
2122
require(apiKey.isNotBlank()) { "`apiKey` is missing." }
2223
}
2324

24-
override val requester: Requester = requesterOf(clientName = "Abtesting", appId = appId, apiKey = apiKey, options = options) {
25+
override val requester: Requester = requesterOf(clientName = "Abtesting", appId = appId, apiKey = apiKey, connectTimeout = 2000.milliseconds, readTimeout = 5000.milliseconds, writeTimeout = 30000.milliseconds, options = options) {
2526
val allowedRegions = listOf("de", "us")
2627
require(region == null || region in allowedRegions) { "`region` must be one of the following: ${allowedRegions.joinToString()}" }
2728
val url = if (region == null) "analytics.algolia.com" else "analytics.$region.algolia.com"

client/src/commonMain/kotlin/com/algolia/client/api/AnalyticsClient.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.algolia.client.model.analytics.*
88
import com.algolia.client.transport.*
99
import com.algolia.client.transport.internal.*
1010
import kotlinx.serialization.json.*
11+
import kotlin.time.Duration.Companion.milliseconds
1112

1213
public class AnalyticsClient(
1314
override val appId: String,
@@ -21,7 +22,7 @@ public class AnalyticsClient(
2122
require(apiKey.isNotBlank()) { "`apiKey` is missing." }
2223
}
2324

24-
override val requester: Requester = requesterOf(clientName = "Analytics", appId = appId, apiKey = apiKey, options = options) {
25+
override val requester: Requester = requesterOf(clientName = "Analytics", appId = appId, apiKey = apiKey, connectTimeout = 2000.milliseconds, readTimeout = 5000.milliseconds, writeTimeout = 30000.milliseconds, options = options) {
2526
val allowedRegions = listOf("de", "us")
2627
require(region == null || region in allowedRegions) { "`region` must be one of the following: ${allowedRegions.joinToString()}" }
2728
val url = if (region == null) "analytics.algolia.com" else "analytics.$region.algolia.com"

client/src/commonMain/kotlin/com/algolia/client/api/IngestionClient.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.algolia.client.model.ingestion.*
88
import com.algolia.client.transport.*
99
import com.algolia.client.transport.internal.*
1010
import kotlinx.serialization.json.*
11+
import kotlin.time.Duration.Companion.milliseconds
1112

1213
public class IngestionClient(
1314
override val appId: String,
@@ -21,7 +22,7 @@ public class IngestionClient(
2122
require(apiKey.isNotBlank()) { "`apiKey` is missing." }
2223
}
2324

24-
override val requester: Requester = requesterOf(clientName = "Ingestion", appId = appId, apiKey = apiKey, options = options) {
25+
override val requester: Requester = requesterOf(clientName = "Ingestion", appId = appId, apiKey = apiKey, connectTimeout = 25000.milliseconds, readTimeout = 25000.milliseconds, writeTimeout = 25000.milliseconds, options = options) {
2526
val allowedRegions = listOf("eu", "us")
2627
require(region in allowedRegions) { "`region` is required and must be one of the following: ${allowedRegions.joinToString()}" }
2728
val url = "data.$region.algolia.com"

client/src/commonMain/kotlin/com/algolia/client/api/InsightsClient.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.algolia.client.model.insights.*
88
import com.algolia.client.transport.*
99
import com.algolia.client.transport.internal.*
1010
import kotlinx.serialization.json.*
11+
import kotlin.time.Duration.Companion.milliseconds
1112

1213
public class InsightsClient(
1314
override val appId: String,
@@ -21,7 +22,7 @@ public class InsightsClient(
2122
require(apiKey.isNotBlank()) { "`apiKey` is missing." }
2223
}
2324

24-
override val requester: Requester = requesterOf(clientName = "Insights", appId = appId, apiKey = apiKey, options = options) {
25+
override val requester: Requester = requesterOf(clientName = "Insights", appId = appId, apiKey = apiKey, connectTimeout = 2000.milliseconds, readTimeout = 5000.milliseconds, writeTimeout = 30000.milliseconds, options = options) {
2526
val allowedRegions = listOf("de", "us")
2627
require(region == null || region in allowedRegions) { "`region` must be one of the following: ${allowedRegions.joinToString()}" }
2728
val url = if (region == null) "insights.algolia.io" else "insights.$region.algolia.io"

client/src/commonMain/kotlin/com/algolia/client/api/MonitoringClient.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.algolia.client.model.monitoring.*
88
import com.algolia.client.transport.*
99
import com.algolia.client.transport.internal.*
1010
import kotlinx.serialization.json.*
11+
import kotlin.time.Duration.Companion.milliseconds
1112

1213
public class MonitoringClient(
1314
override val appId: String,
@@ -20,7 +21,7 @@ public class MonitoringClient(
2021
require(apiKey.isNotBlank()) { "`apiKey` is missing." }
2122
}
2223

23-
override val requester: Requester = requesterOf(clientName = "Monitoring", appId = appId, apiKey = apiKey, options = options) {
24+
override val requester: Requester = requesterOf(clientName = "Monitoring", appId = appId, apiKey = apiKey, connectTimeout = 2000.milliseconds, readTimeout = 5000.milliseconds, writeTimeout = 30000.milliseconds, options = options) {
2425
listOf(
2526
Host("status.algolia.com"),
2627
)

client/src/commonMain/kotlin/com/algolia/client/api/PersonalizationClient.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.algolia.client.model.personalization.*
88
import com.algolia.client.transport.*
99
import com.algolia.client.transport.internal.*
1010
import kotlinx.serialization.json.*
11+
import kotlin.time.Duration.Companion.milliseconds
1112

1213
public class PersonalizationClient(
1314
override val appId: String,
@@ -21,7 +22,7 @@ public class PersonalizationClient(
2122
require(apiKey.isNotBlank()) { "`apiKey` is missing." }
2223
}
2324

24-
override val requester: Requester = requesterOf(clientName = "Personalization", appId = appId, apiKey = apiKey, options = options) {
25+
override val requester: Requester = requesterOf(clientName = "Personalization", appId = appId, apiKey = apiKey, connectTimeout = 2000.milliseconds, readTimeout = 5000.milliseconds, writeTimeout = 30000.milliseconds, options = options) {
2526
val allowedRegions = listOf("eu", "us")
2627
require(region in allowedRegions) { "`region` is required and must be one of the following: ${allowedRegions.joinToString()}" }
2728
val url = "personalization.$region.algolia.com"

client/src/commonMain/kotlin/com/algolia/client/api/QuerySuggestionsClient.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.algolia.client.model.querysuggestions.*
88
import com.algolia.client.transport.*
99
import com.algolia.client.transport.internal.*
1010
import kotlinx.serialization.json.*
11+
import kotlin.time.Duration.Companion.milliseconds
1112

1213
public class QuerySuggestionsClient(
1314
override val appId: String,
@@ -21,7 +22,7 @@ public class QuerySuggestionsClient(
2122
require(apiKey.isNotBlank()) { "`apiKey` is missing." }
2223
}
2324

24-
override val requester: Requester = requesterOf(clientName = "QuerySuggestions", appId = appId, apiKey = apiKey, options = options) {
25+
override val requester: Requester = requesterOf(clientName = "QuerySuggestions", appId = appId, apiKey = apiKey, connectTimeout = 2000.milliseconds, readTimeout = 5000.milliseconds, writeTimeout = 30000.milliseconds, options = options) {
2526
val allowedRegions = listOf("eu", "us")
2627
require(region in allowedRegions) { "`region` is required and must be one of the following: ${allowedRegions.joinToString()}" }
2728
val url = "query-suggestions.$region.algolia.com"

client/src/commonMain/kotlin/com/algolia/client/api/RecommendClient.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.algolia.client.model.recommend.*
88
import com.algolia.client.transport.*
99
import com.algolia.client.transport.internal.*
1010
import kotlinx.serialization.json.*
11+
import kotlin.time.Duration.Companion.milliseconds
1112

1213
public class RecommendClient(
1314
override val appId: String,
@@ -20,7 +21,7 @@ public class RecommendClient(
2021
require(apiKey.isNotBlank()) { "`apiKey` is missing." }
2122
}
2223

23-
override val requester: Requester = requesterOf(clientName = "Recommend", appId = appId, apiKey = apiKey, options = options) {
24+
override val requester: Requester = requesterOf(clientName = "Recommend", appId = appId, apiKey = apiKey, connectTimeout = 2000.milliseconds, readTimeout = 5000.milliseconds, writeTimeout = 30000.milliseconds, options = options) {
2425
listOf(
2526
Host("$appId-dsn.algolia.net", CallType.Read),
2627
Host("$appId.algolia.net", CallType.Write),

client/src/commonMain/kotlin/com/algolia/client/api/SearchClient.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.algolia.client.model.search.*
88
import com.algolia.client.transport.*
99
import com.algolia.client.transport.internal.*
1010
import kotlinx.serialization.json.*
11+
import kotlin.time.Duration.Companion.milliseconds
1112

1213
public class SearchClient(
1314
override val appId: String,
@@ -20,7 +21,7 @@ public class SearchClient(
2021
require(apiKey.isNotBlank()) { "`apiKey` is missing." }
2122
}
2223

23-
override val requester: Requester = requesterOf(clientName = "Search", appId = appId, apiKey = apiKey, options = options) {
24+
override val requester: Requester = requesterOf(clientName = "Search", appId = appId, apiKey = apiKey, connectTimeout = 2000.milliseconds, readTimeout = 5000.milliseconds, writeTimeout = 30000.milliseconds, options = options) {
2425
listOf(
2526
Host("$appId-dsn.algolia.net", CallType.Read),
2627
Host("$appId.algolia.net", CallType.Write),

client/src/commonMain/kotlin/com/algolia/client/configuration/ClientOptions.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@ import io.ktor.client.plugins.logging.*
77
import kotlinx.serialization.json.Json
88
import kotlinx.serialization.json.JsonBuilder
99
import kotlin.time.Duration
10-
import kotlin.time.Duration.Companion.seconds
1110

1211
public expect class ClientOptions(
13-
connectTimeout: Duration = 2.seconds,
14-
writeTimeout: Duration = 30.seconds,
15-
readTimeout: Duration = 5.seconds,
12+
connectTimeout: Duration? = null,
13+
writeTimeout: Duration? = null,
14+
readTimeout: Duration? = null,
1615
logLevel: LogLevel = LogLevel.NONE,
1716
logger: Logger = Logger.DEFAULT,
1817
hosts: List<Host>? = null,
@@ -25,13 +24,13 @@ public expect class ClientOptions(
2524
) {
2625

2726
/** Connect timeout for each request */
28-
public val connectTimeout: Duration
27+
public val connectTimeout: Duration?
2928

3029
/** The timeout for each request when performing write operations. */
31-
public val writeTimeout: Duration
30+
public val writeTimeout: Duration?
3231

3332
/** The timeout for each request when performing read operations. */
34-
public val readTimeout: Duration
33+
public val readTimeout: Duration?
3534

3635
/** [LogLevel] to display in the console. */
3736
public val logLevel: LogLevel

0 commit comments

Comments
 (0)