diff --git a/ktor-server/ktor-server-plugins/ktor-server-di/api/ktor-server-di.api b/ktor-server/ktor-server-plugins/ktor-server-di/api/ktor-server-di.api index 8b0feea7b25..d6420a50a07 100644 --- a/ktor-server/ktor-server-plugins/ktor-server-di/api/ktor-server-di.api +++ b/ktor-server/ktor-server-plugins/ktor-server-di/api/ktor-server-di.api @@ -277,6 +277,7 @@ public final class io/ktor/server/plugins/di/DependencyRegistry$KeyContext { public final class io/ktor/server/plugins/di/DependencyRegistryKt { public static final fun dependencies (Lio/ktor/server/application/Application;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun getDependencies (Lio/ktor/server/application/Application;)Lio/ktor/server/plugins/di/DependencyRegistry; + public static final fun getDependencies (Lio/ktor/server/routing/Route;)Lio/ktor/server/plugins/di/DependencyRegistry; public static final fun setDependencies (Lio/ktor/server/application/Application;Lio/ktor/server/plugins/di/DependencyRegistry;)V } diff --git a/ktor-server/ktor-server-plugins/ktor-server-di/api/ktor-server-di.klib.api b/ktor-server/ktor-server-plugins/ktor-server-di/api/ktor-server-di.klib.api index 0310afdc5c7..8c30bfe9571 100644 --- a/ktor-server/ktor-server-plugins/ktor-server-di/api/ktor-server-di.klib.api +++ b/ktor-server/ktor-server-plugins/ktor-server-di/api/ktor-server-di.klib.api @@ -397,6 +397,8 @@ final val io.ktor.server.plugins.di/Supertypes // io.ktor.server.plugins.di/Supe final fun (): io.ktor.server.plugins.di/DependencyKeyCovariance // io.ktor.server.plugins.di/Supertypes.|(){}[0] final val io.ktor.server.plugins.di/Unnamed // io.ktor.server.plugins.di/Unnamed|{}Unnamed[0] final fun (): io.ktor.server.plugins.di/DependencyKeyCovariance // io.ktor.server.plugins.di/Unnamed.|(){}[0] +final val io.ktor.server.plugins.di/dependencies // io.ktor.server.plugins.di/dependencies|@io.ktor.server.routing.Route{}dependencies[0] + final fun (io.ktor.server.routing/Route).(): io.ktor.server.plugins.di/DependencyRegistry // io.ktor.server.plugins.di/dependencies.|@io.ktor.server.routing.Route(){}[0] final var io.ktor.server.plugins.di/dependencies // io.ktor.server.plugins.di/dependencies|@io.ktor.server.application.Application{}dependencies[0] final fun (io.ktor.server.application/Application).(): io.ktor.server.plugins.di/DependencyRegistry // io.ktor.server.plugins.di/dependencies.|@io.ktor.server.application.Application(){}[0] diff --git a/ktor-server/ktor-server-plugins/ktor-server-di/common/src/io/ktor/server/plugins/di/DependencyRegistry.kt b/ktor-server/ktor-server-plugins/ktor-server-di/common/src/io/ktor/server/plugins/di/DependencyRegistry.kt index 761f3f90b09..c7fbba2ad64 100644 --- a/ktor-server/ktor-server-plugins/ktor-server-di/common/src/io/ktor/server/plugins/di/DependencyRegistry.kt +++ b/ktor-server/ktor-server-plugins/ktor-server-di/common/src/io/ktor/server/plugins/di/DependencyRegistry.kt @@ -5,6 +5,7 @@ package io.ktor.server.plugins.di import io.ktor.server.application.* +import io.ktor.server.routing.* import io.ktor.utils.io.* import kotlinx.coroutines.Deferred import kotlin.properties.ReadOnlyProperty @@ -189,6 +190,9 @@ public var Application.dependencies: DependencyRegistry attributes.put(DependencyRegistryKey, value) } +public val Route.dependencies: DependencyRegistry + get() = application.attributes[DependencyRegistryKey] + /** * Used for tracing references to dependency keys in the application. *