package Ġconfig Ċ Ċ import Ġhandlers . RequestHandler Factory Ċ import Ġio . ktor . application .* Ċ import Ġio . ktor . features .* Ċ import Ġio . ktor . jackson .* Ċ import Ġio . ktor . locations .* Ċ import Ġio . ktor . routing .* Ċ import Ġio . ktor . server . engine .* Ċ import Ġio . ktor . server . netty .* Ċ import Ġorg . jetbrains . ex posed . sql . Database Ċ import Ġorg . k oin . core . context . start K oin Ċ import Ġorg . k oin . java . K oin Java Component . inject Ċ import Ġorg . slf 4 j . event . Level Ċ Ċ fun ĠApplication . setup ( db : ĠDatabase ) Ġ{ ĊĠĠĠ Ġstart K oin Ġ{ Ġmodules ( config . setup ( db )) Ġ} ĊĠĠĠ Ġinstall ( Default Headers ) ĊĠĠĠ Ġinstall ( Locations ) ĊĠĠĠ Ġinstall ( Call Logging ) Ġ{ Ġlevel Ġ= ĠLevel . INFO Ġ} ĊĠĠĠ Ġinstall ( Content Neg otiation ) Ġ{ Ġj ack son Ġ{ Ġsetup () Ġ} Ġ} ĊĠĠĠ Ġinstall ( Status Pages ) Ġ{ Ġsetup () Ġ} ĊĠĠĠ Ġinstall ( Routing ) Ġ{ Ġsetup ( inject ( RequestHandler Factory :: class . java ). value ) Ġ} Ċ } Ċ Ċ fun Ġsetup Server () Ġ= Ġembedded Server ( Net ty , ĠSystem . getenv (" PORT ") ?. toInt () Ġ?: Ġ 8 0 8 0 ) Ġ{ ĊĠĠĠ Ġsetup ( ĊĠĠĠĠĠĠĠ ĠDb Config . setup ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjdbc Url Ġ= Ġ" jdbc : h 2 : mem : application DB ; DB _ CLOSE _ DELAY =- 1 ;", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdriver ClassName Ġ= Ġ" org . h 2 . Driver " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) Ċ }