initial commit
This commit is contained in:
19
src/main/kotlin/com/wyattjmiller/Application.kt
Normal file
19
src/main/kotlin/com/wyattjmiller/Application.kt
Normal file
@ -0,0 +1,19 @@
|
||||
package com.wyattjmiller
|
||||
|
||||
import io.ktor.server.application.*
|
||||
import com.wyattjmiller.plugins.*
|
||||
import com.wyattjmiller.routes.RecipeRoute.Companion.recipeRoutes
|
||||
import io.ktor.server.config.*
|
||||
|
||||
fun main(args: Array<String>): Unit =
|
||||
io.ktor.server.netty.EngineMain.main(args)
|
||||
|
||||
@Suppress("unused") // application.conf references the main function. This annotation prevents the IDE from marking it as unused.
|
||||
fun Application.module() {
|
||||
//val config = this.environment.config
|
||||
|
||||
configureRouting()
|
||||
configureSerialization()
|
||||
|
||||
recipeRoutes()
|
||||
}
|
10
src/main/kotlin/com/wyattjmiller/plugins/Routing.kt
Normal file
10
src/main/kotlin/com/wyattjmiller/plugins/Routing.kt
Normal file
@ -0,0 +1,10 @@
|
||||
package com.wyattjmiller.plugins
|
||||
|
||||
import io.ktor.server.routing.*
|
||||
import io.ktor.server.application.*
|
||||
|
||||
fun Application.configureRouting() {
|
||||
routing {
|
||||
|
||||
}
|
||||
}
|
19
src/main/kotlin/com/wyattjmiller/plugins/Serialization.kt
Normal file
19
src/main/kotlin/com/wyattjmiller/plugins/Serialization.kt
Normal file
@ -0,0 +1,19 @@
|
||||
package com.wyattjmiller.plugins
|
||||
|
||||
import io.ktor.serialization.kotlinx.json.*
|
||||
import io.ktor.server.application.*
|
||||
import io.ktor.server.plugins.contentnegotiation.*
|
||||
import io.ktor.server.response.*
|
||||
import io.ktor.server.routing.*
|
||||
|
||||
fun Application.configureSerialization() {
|
||||
install(ContentNegotiation) {
|
||||
json()
|
||||
}
|
||||
|
||||
routing {
|
||||
get("/json/kotlinx-serialization") {
|
||||
call.respond(mapOf("hello" to "world"))
|
||||
}
|
||||
}
|
||||
}
|
19
src/main/resources/application.conf
Normal file
19
src/main/resources/application.conf
Normal file
@ -0,0 +1,19 @@
|
||||
ktor {
|
||||
#development = true
|
||||
deployment {
|
||||
port = 8080
|
||||
port = ${?PORT}
|
||||
}
|
||||
application {
|
||||
modules = [ com.wyattjmiller.ApplicationKt.module ]
|
||||
}
|
||||
}
|
||||
|
||||
storage {
|
||||
ipAddress = "10.10.10.21"
|
||||
port = "5432"
|
||||
driverClassName = "org.postgresql.Driver"
|
||||
jdbcURL = "jdbc:postgresql://10.10.10.21:5432/recipefolio"
|
||||
dbUser = "wyatt"
|
||||
dbPasswd = "wjm"
|
||||
}
|
12
src/main/resources/logback.xml
Normal file
12
src/main/resources/logback.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<configuration>
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
<root level="trace">
|
||||
<appender-ref ref="STDOUT"/>
|
||||
</root>
|
||||
<logger name="org.eclipse.jetty" level="INFO"/>
|
||||
<logger name="io.netty" level="INFO"/>
|
||||
</configuration>
|
21
src/test/kotlin/com/wyattjmiller/ApplicationTest.kt
Normal file
21
src/test/kotlin/com/wyattjmiller/ApplicationTest.kt
Normal file
@ -0,0 +1,21 @@
|
||||
package com.wyattjmiller
|
||||
|
||||
import io.ktor.http.*
|
||||
import io.ktor.client.request.*
|
||||
import io.ktor.client.statement.*
|
||||
import kotlin.test.*
|
||||
import io.ktor.server.testing.*
|
||||
import com.wyattjmiller.plugins.*
|
||||
|
||||
class ApplicationTest {
|
||||
@Test
|
||||
fun testRoot() = testApplication {
|
||||
application {
|
||||
configureRouting()
|
||||
}
|
||||
client.get("/").apply {
|
||||
assertEquals(HttpStatusCode.OK, status)
|
||||
assertEquals("Hello World!", bodyAsText())
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user