diff --git a/CHANGELOG.md b/CHANGELOG.md index 19db51c1b84..54b0a346e3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.8.4 + +* `Ktor`: + * `Server`: + * Several new `createKtorServer` + ## 0.8.3 * `Common`: diff --git a/gradle.properties b/gradle.properties index da742209f01..0fbc652493f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -45,5 +45,5 @@ dokka_version=1.5.31 # Project data group=dev.inmo -version=0.8.3 -android_code_version=83 +version=0.8.4 +android_code_version=84 diff --git a/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/StartServer.kt b/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/StartServer.kt index 1a50ca884b6..59ff509aecf 100644 --- a/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/StartServer.kt +++ b/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/StartServer.kt @@ -1,5 +1,6 @@ package dev.inmo.micro_utils.ktor.server +import dev.inmo.micro_utils.ktor.server.configurators.KtorApplicationConfigurator import io.ktor.application.Application import io.ktor.server.cio.CIO import io.ktor.server.engine.* @@ -31,3 +32,27 @@ fun createKtorServer( port: Int = Random.nextInt(1024, 65535), block: Application.() -> Unit ): ApplicationEngine = createKtorServer(CIO, host, port, block) + +fun createKtorServer( + engine: ApplicationEngineFactory, + host: String = "localhost", + port: Int = Random.nextInt(1024, 65535), + configurators: List +): TEngine = createKtorServer( + engine, + host, + port +) { + configurators.forEach { it.apply { configure() } } +} + +/** + * Create server with [CIO] server engine without starting of it + * + * @see ApplicationEngine.start + */ +fun createKtorServer( + host: String = "localhost", + port: Int = Random.nextInt(1024, 65535), + configurators: List +): ApplicationEngine = createKtorServer(CIO, host, port, configurators) diff --git a/pagination/common/src/commonMain/kotlin/dev/inmo/micro_utils/pagination/Pagination.kt b/pagination/common/src/commonMain/kotlin/dev/inmo/micro_utils/pagination/Pagination.kt index b20a778af2f..d6d70d24748 100644 --- a/pagination/common/src/commonMain/kotlin/dev/inmo/micro_utils/pagination/Pagination.kt +++ b/pagination/common/src/commonMain/kotlin/dev/inmo/micro_utils/pagination/Pagination.kt @@ -25,7 +25,7 @@ interface Pagination : ClosedRange { override val start: Int get() = page * size override val endInclusive: Int - get() = lastIndex + get() = start + size - 1 } fun Pagination.intersect(