diff --git a/connector/server/build.gradle.kts b/connector/server/build.gradle.kts index bde733d..66d4fa7 100644 --- a/connector/server/build.gradle.kts +++ b/connector/server/build.gradle.kts @@ -2,6 +2,7 @@ plugins { alias(libs.plugins.kotlinJvm) alias(libs.plugins.ktor) application + id("org.jetbrains.kotlin.plugin.serialization") version "1.9.23" } val sl4jVersion = "2.0.12" @@ -22,5 +23,8 @@ dependencies { testImplementation(libs.ktor.server.tests) testImplementation(libs.kotlin.test.junit) + implementation("io.ktor:ktor-server-content-negotiation-jvm") + implementation("io.ktor:ktor-serialization-kotlinx-json-jvm") + implementation("dk.au.ece.vdmj:vdmj:$vdmjVersion") } diff --git a/connector/server/src/main/kotlin/io/anthonyberg/connector/Application.kt b/connector/server/src/main/kotlin/io/anthonyberg/connector/Application.kt index 2c02e10..09714ca 100644 --- a/connector/server/src/main/kotlin/io/anthonyberg/connector/Application.kt +++ b/connector/server/src/main/kotlin/io/anthonyberg/connector/Application.kt @@ -1,12 +1,11 @@ package io.anthonyberg.connector import SERVER_PORT -import io.anthonyberg.connector.vdmj.VDMJ +import io.anthonyberg.connector.plugins.configureRouting +import io.anthonyberg.connector.plugins.configureSerialization import io.ktor.server.application.* import io.ktor.server.engine.* import io.ktor.server.netty.* -import io.ktor.server.response.* -import io.ktor.server.routing.* fun main() { embeddedServer(Netty, port = SERVER_PORT, host = "0.0.0.0", module = Application::module) @@ -14,10 +13,6 @@ fun main() { } fun Application.module() { - routing { - get("/") { - val vdm = VDMJ().run("complete_procedure(\"Before Start\", aircraft)") - call.respondText("Ktor: $vdm") - } - } + configureRouting() + configureSerialization() } diff --git a/connector/server/src/main/kotlin/io/anthonyberg/connector/plugins/Routing.kt b/connector/server/src/main/kotlin/io/anthonyberg/connector/plugins/Routing.kt new file mode 100644 index 0000000..790c581 --- /dev/null +++ b/connector/server/src/main/kotlin/io/anthonyberg/connector/plugins/Routing.kt @@ -0,0 +1,11 @@ +package io.anthonyberg.connector.plugins + +import io.anthonyberg.connector.routes.vdmjRouting +import io.ktor.server.application.* +import io.ktor.server.routing.* + +fun Application.configureRouting() { + routing { + vdmjRouting() + } +} diff --git a/connector/server/src/main/kotlin/io/anthonyberg/connector/plugins/Serialization.kt b/connector/server/src/main/kotlin/io/anthonyberg/connector/plugins/Serialization.kt new file mode 100644 index 0000000..f91b639 --- /dev/null +++ b/connector/server/src/main/kotlin/io/anthonyberg/connector/plugins/Serialization.kt @@ -0,0 +1,12 @@ +package io.anthonyberg.connector.plugins + +import io.ktor.serialization.kotlinx.json.* +import io.ktor.server.application.* +import io.ktor.server.plugins.contentnegotiation.* + + +fun Application.configureSerialization() { + install(ContentNegotiation) { + json() + } +}