From 407c5a353c6805cd64b478df013221efbd9327cf Mon Sep 17 00:00:00 2001 From: David Bieregger Date: Mon, 15 May 2023 16:12:25 +0200 Subject: [PATCH] Improve consistency of MergedApplicationConfig.kt --- .../src/io/ktor/server/config/MergedApplicationConfig.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ktor-server/ktor-server-core/jvmAndNix/src/io/ktor/server/config/MergedApplicationConfig.kt b/ktor-server/ktor-server-core/jvmAndNix/src/io/ktor/server/config/MergedApplicationConfig.kt index 0ccb74cffbc..68dc00e3c7b 100644 --- a/ktor-server/ktor-server-core/jvmAndNix/src/io/ktor/server/config/MergedApplicationConfig.kt +++ b/ktor-server/ktor-server-core/jvmAndNix/src/io/ktor/server/config/MergedApplicationConfig.kt @@ -40,6 +40,7 @@ internal class MergedApplicationConfig( ) : ApplicationConfig { private val firstKeys by lazy { first.keys() } + private val secondKeys by lazy { second.keys() } override fun property(path: String): ApplicationConfigValue = when { firstKeys.contains(path) -> first.property(path) @@ -53,17 +54,17 @@ internal class MergedApplicationConfig( override fun config(path: String): ApplicationConfig { if (firstKeys.none { it.startsWith("$path.") }) return second.config(path) - if (second.keys().none { it.startsWith("$path.") }) return first.config(path) + if (secondKeys.none { it.startsWith("$path.") }) return first.config(path) return MergedApplicationConfig(first.config(path), second.config(path)) } override fun configList(path: String): List { val firstList = if (firstKeys.contains(path)) first.configList(path) else emptyList() - val secondList = if (second.keys().contains(path)) second.configList(path) else emptyList() + val secondList = if (secondKeys.contains(path)) second.configList(path) else emptyList() return firstList + secondList } - override fun keys(): Set = firstKeys + second.keys() + override fun keys(): Set = firstKeys + secondKeys override fun toMap(): Map = second.toMap() + first.toMap() }