package Ġorg . http 4 k . contract Ċ Ċ import Ġorg . http 4 k . format . Arg o Ċ import Ġorg . http 4 k . lens . Query Ċ Ċ class ĠContract Dsl Ġ{ ĊĠĠĠ Ġvar Ġrenderer : ĠContract Renderer Ġ= ĠNo Renderer ĊĠĠĠ Ġvar Ġsecurity : ĠSecurity Ġ= ĠNo Security ĊĠĠĠ Ġvar Ġdescription Path Ġ= Ġ"" ĊĠĠĠ Ġvar Ġsummary : ĠString Ġ= Ġ"< unknown >" Ċ } Ċ Ċ fun Ġcontract Dsl ( fn : ĠContract Dsl . () Ġ-> ĠUnit ): ĠAny Ġ= ĠContract Dsl (). apply ( fn ). run Ġ{ ĊĠĠĠ Ġthis Ċ } Ċ Ċ val Ġa Ġ= Ġcontract Dsl Ġ{ ĊĠĠĠ Ġrenderer Ġ= ĠOpen Api ( Api Info (" foo ", Ġ" bbb ", Ġ" asd "), ĠArg o ) ĊĠĠĠ Ġsecurity Ġ= ĠApi Key ( Query . required (" the _ api _ key "), Ġ{ Ġtrue Ġ}) Ċ // ĠĠĠĠĠĠĠ Ġroutes Ġ+= Ġcontract Route "/ echo " Ġ/ ĠPath . of (" message ") Ċ // ĠĠĠ Ġheader ĠHeader Ġ. Ġoptional Ġ(" header ", Ġ" description Ġof Ġthe Ġheader ") Ċ // ĠĠĠ Ġbind Contract ĠMethod Ġ. ĠGET Ġto Ġ{ Ġmsg Ġ-> Ġ{ ĠResponse ( Status . OK ). body ( msg ) Ġ} Ġ} Ċ // ĠĠĠ Ġmeta Ġmeta Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġsummary Ġ= Ġ" summary Ġof Ġthis Ġroute " Ċ // ĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" some Ġram bling Ġdescription Ġof Ġwhat Ġthis Ġthing Ġactually Ġdoes " Ċ // ĠĠĠĠĠĠĠ Ġproduces Ġ+= ĠContentType . APPLICATION _ JSON Ċ // ĠĠĠĠĠĠĠ Ġtags Ġ+= ĠTag (" tag 3 ") Ċ // ĠĠĠĠĠĠĠ Ġtags Ġ+= ĠTag (" tag 1 ") Ċ // ĠĠĠĠĠĠĠ Ġreturning (" no Ġway Ġj ose " Ġto ĠStatus . FOR BID DEN ) Ċ // ĠĠĠ Ġ}, Ċ // Ċ // ĠĠĠ Ġ"/ simp les " Ġbind Contract ĠMethod . GET Ġto Ġ{ ĠResponse ( Status . OK ) Ġ} Ġmeta ĠRoute Meta (" a Ġsimple Ġendpoint ") Ċ // ĠĠĠ Ġ) Ċ } Ċ