Split features into files

This commit is contained in:
Hubert Van De Walle 2020-04-11 23:19:46 +02:00
parent cc0058892e
commit 49a3d47653
5 changed files with 46 additions and 12 deletions

View File

@ -2,6 +2,7 @@ package be.vandewalleh
import be.vandewalleh.controllers.KodeinController
import be.vandewalleh.controllers.controllerModule
import be.vandewalleh.features.features
import com.fasterxml.jackson.databind.SerializationFeature
import io.ktor.application.Application
import io.ktor.application.install
@ -17,18 +18,7 @@ lateinit var kodein: Kodein
@Suppress("unused") // Referenced in application.conf
fun Application.module() {
install(Locations)
install(CORS) {
anyHost()
}
install(ContentNegotiation) {
jackson {
enable(SerializationFeature.INDENT_OUTPUT)
}
}
features()
kodein = Kodein {
import(controllerModule)

View File

@ -0,0 +1,15 @@
package be.vandewalleh.features
import com.fasterxml.jackson.databind.SerializationFeature
import io.ktor.application.Application
import io.ktor.application.install
import io.ktor.features.ContentNegotiation
import io.ktor.jackson.jackson
fun Application.contentNegotiationFeature() {
install(ContentNegotiation) {
jackson {
enable(SerializationFeature.INDENT_OUTPUT)
}
}
}

View File

@ -0,0 +1,11 @@
package be.vandewalleh.features
import io.ktor.application.Application
import io.ktor.application.install
import io.ktor.features.CORS
fun Application.corsFeature() {
install(CORS) {
anyHost()
}
}

View File

@ -0,0 +1,9 @@
package be.vandewalleh.features
import io.ktor.application.Application
fun Application.features() {
locationFeature()
corsFeature()
contentNegotiationFeature()
}

View File

@ -0,0 +1,9 @@
package be.vandewalleh.features
import io.ktor.application.Application
import io.ktor.application.install
import io.ktor.locations.Locations
fun Application.locationFeature() {
install(Locations)
}