import Ġk lite . Assets Handler Ċ import Ġk lite . Config Ċ import Ġk lite . Server Ċ import Ġk lite . annotations . annotated Ċ import Ġk lite . jdbc . DB Module Ċ import Ġk lite . jdbc . Request Transaction Handler Ċ import Ġk lite . json . Json Body Ċ import Ġk lite . require Ċ import Ġkotlinx . coroutines . delay Ċ import Ġjava . nio . file . Path Ċ Ċ fun Ġmain () Ġ{ ĊĠ ĠConfig . use Env File () ĊĊĠ ĠServer (). apply Ġ{ ĊĠĠĠ Ġuse < Json Body >() ĊĠĠĠ Ġuse < DB Module >() ĊĠĠĠ Ġuse < Request Transaction Handler >() ĊĊĠĠĠ Ġassets ("/", ĠAssets Handler ( Path . of (" public "), Ġuse Index For Unknown Paths Ġ= Ġtrue )) ĊĊĠĠĠ Ġbefore ( require < Admin Checker >()) ĊĊĠĠĠ Ġcontext ("/ hello ") Ġ{ ĊĠĠĠĠĠ Ġget Ġ{ Ġ" Hello ĠWorld " Ġ} ĊĊĠĠĠĠĠ Ġget ("/ delay ") Ġ{ ĊĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ" Wait ed Ġfor Ġ 1 Ġsec " ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġget ("/ failure ") Ġ{ Ġerror (" Failure ") Ġ} ĊĊĠĠĠĠĠ Ġget ("/ admin ") Ġ@ Admin Only Ġ{ ĊĠĠĠĠĠĠĠ Ġ" Only Ġfor Ġadmins " Ġ// ĠTODO : ĠKotlin Ġbug : Ġsuspend Ġlambda Ġannotations Ġdon 't Ġwork Ġyet ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġget ("/ : param ") Ġ{ ĊĠĠĠĠĠĠĠ Ġ" Path : Ġ${ path (" param ")}, ĠQuery : Ġ$ queryParams " ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcontext ("/ api ") Ġ{ ĊĠĠĠĠĠ Ġuse Only < Json Body >() ĊĠĠĠĠĠ Ġannotated < Routes >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġstart () ĊĠ Ġ} Ċ } Ċ