Joost Klitsie
07/12/2021, 8:23 PMAleksei Tirman [JB]
07/13/2021, 9:12 AMJoost Klitsie
07/14/2021, 3:13 PMAleksei Tirman [JB]
07/15/2021, 9:10 AMMyFeature2
calls a method of MyFeature1
:
fun main(args: Array<String>) {
embeddedServer(Netty, port = 8082, watchPaths = emptyList()) {
install(MyFeature1)
install(MyFeature2)
}.start()
}
class MyFeature1 {
fun communicate() {
println("Communicating...")
}
companion object: ApplicationFeature<Application, Unit, MyFeature1> {
override val key: AttributeKey<MyFeature1> = AttributeKey("MyFeature1")
override fun install(pipeline: Application, configure: Unit.() -> Unit): MyFeature1 {
return MyFeature1()
}
}
}
class MyFeature2 {
companion object: ApplicationFeature<Application, Unit, MyFeature2> {
override val key: AttributeKey<MyFeature2> = AttributeKey("MyFeature1")
override fun install(pipeline: Application, configure: Unit.() -> Unit): MyFeature2 {
val feature1 = pipeline.feature(MyFeature1)
feature1.communicate()
return MyFeature2()
}
}
}
Joost Klitsie
07/19/2021, 9:22 AMAleksei Tirman [JB]
07/19/2021, 12:04 PMJoost Klitsie
07/21/2021, 7:31 AM