package Ġcom . example Ċ Ċ import Ġio . ktor . application .* Ċ import Ġio . ktor . response .* Ċ import Ġio . ktor . request .* Ċ import Ġio . ktor . routing .* Ċ import Ġio . ktor . http .* Ċ import Ġio . ktor . gson .* Ċ import Ġio . ktor . features .* Ċ import Ġio . ktor . util . pipeline . Pipeline Phase Ċ Ċ fun Ġmain ( args : ĠArray < String >): ĠUnit Ġ= Ġio . ktor . server . netty . Engine Main . main ( args ) Ċ Ċ @ Suppress (" unused ") Ġ// ĠRefer enced Ġin Ġapplication . conf Ċ @ kotlin . jvm . Jvm Over loads Ċ fun ĠApplication . module ( testing : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠ Ġinstall ( Content Neg otiation ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgson Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġmi ke Ġ= ĠPipeline Phase (" Mi ke ") ĊĠĠĠ Ġinsert Phase Before ( Application Call Pipeline . Call , Ġmi ke ) ĊĠĠĠ Ġintercept ( Application Call Pipeline . Setup ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Setup Ġphase ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġintercept ( Application Call Pipeline . Call ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Call Ġphase ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġintercept ( Application Call Pipeline . Features ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Features Ġphase ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġintercept ( Application Call Pipeline . Monitoring ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Monitoring Ġphase ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġintercept ( Application Call Pipeline . Fallback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Fallback Ġphase ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġintercept ( mike ){ ĊĠĠĠĠĠĠĠ Ġlog . info (" Mi ke Ġphase ... Ġ${ call . request . uri }") ĊĠĠĠĠĠĠĠ Ġif Ġ( call . request . uri . contains (" mike ")){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info (" The Ġuri Ġcontains Ġmi ke ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond Text (" The Ġendpoint Ġcontains ĠM ike ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġrouting Ġ{ ĊĠĠĠĠĠĠĠ Ġget ("/") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond Text (" HEL LO ĠW ORLD !", ĠcontentType Ġ= ĠContentType . Text . Plain ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġget ("/ something / mike / another thing ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond Text (" This Ġendpoint Ġis Ġhandled Ġby Ġthe Ġroute . ĠHave Ġa Ġnice Ġday !", ĠcontentType Ġ= ĠContentType . Text . Plain ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } ĊĊ