io.specmatic.test.TimeoutPolicy.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of specmatic-core Show documentation
Show all versions of specmatic-core Show documentation
Turn your contracts into executable specifications. Contract Driven Development - Collaboratively Design & Independently Deploy MicroServices & MicroFrontends.
package io.specmatic.test
import io.ktor.client.plugins.*
open class TimeoutPolicy(timeout: Int) {
val requestTimeoutInMillis: Long = secondsToMillis(timeout)
val socketTimeoutInMillis: Long = secondsToMillis(timeout + BREATHING_ROOM_FOR_REQUEST_TIMEOUT_TO_KICK_IN_FIRST)
fun configure(httpTimeoutCapabilityConfiguration: HttpTimeout.HttpTimeoutCapabilityConfiguration) {
httpTimeoutCapabilityConfiguration.socketTimeoutMillis = socketTimeoutInMillis
httpTimeoutCapabilityConfiguration.requestTimeoutMillis = requestTimeoutInMillis
}
}
fun secondsToMillis(seconds: Int): Long = seconds * 1000L