package Ġdev . k ord . rest . service Ċ Ċ import Ġdev . k ord . common . annotation . K ord Experimental Ċ import Ġdev . k ord . common . annotation . K ord Unsafe Ċ import Ġdev . k ord . rest . request . K tor RequestHandler Ċ import Ġdev . k ord . rest . request . RequestBuilder Ċ import Ġdev . k ord . rest . request . RequestHandler Ċ import Ġdev . k ord . rest . route . Route Ċ import Ġkotlin . contracts . Invocation Kind Ċ import Ġkotlin . contracts . contract Ċ Ċ class ĠRest Client ( request Handler : ĠRequest Handler ) Ġ: ĠRest Service ( request Handler ) Ġ{ ĊĠĠĠ Ġval Ġaudit Log : ĠAudit Log Service Ġ= ĠAudit Log Service ( request Handler ) ĊĠĠĠ Ġval Ġchannel : ĠChannel Service Ġ= ĠChannel Service ( request Handler ) ĊĠĠĠ Ġval Ġemoji : ĠEmoji Service Ġ= ĠEmoji Service ( request Handler ) ĊĠĠĠ Ġval Ġguild : ĠGuild Service Ġ= ĠGuild Service ( request Handler ) ĊĠĠĠ Ġval Ġinvite : ĠInv ite Service Ġ= ĠInv ite Service ( request Handler ) ĊĠĠĠ Ġval Ġuser : ĠUserService Ġ= ĠUserService ( request Handler ) ĊĠĠĠ Ġval Ġvoice : ĠVoice Service Ġ= ĠVoice Service ( request Handler ) ĊĠĠĠ Ġval Ġwebhook : ĠWeb hook Service Ġ= ĠWeb hook Service ( request Handler ) ĊĠĠĠ Ġval Ġapplication : ĠApplication Service Ġ= ĠApplication Service ( request Handler ) ĊĠĠĠ Ġval Ġtemplate : ĠTemplate Service Ġ= ĠTemplate Service ( request Handler ) ĊĠĠĠ Ġval Ġinteraction : ĠInteraction Service Ġ= ĠInteraction Service ( request Handler ) ĊĠĠĠ Ġval Ġstage Instance : ĠStage Instance Service Ġ= ĠStage Instance Service ( request Handler ) ĊĠĠĠ Ġval Ġst icker : ĠSt icker Service Ġ= ĠSt icker Service ( request Handler ) ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSends Ġa Ġrequest Ġto Ġthe Ġgiven Ġ[ route ]. ĠThis Ġfunction Ġexposes Ġa Ġdirect Ġcall Ġto Ġthe ĠDiscord Ġapi Ġand Ġallows ĊĠĠĠĠ Ġ* Ġthe Ġuser Ġto Ġsend Ġa Ġcustom Ġ[ RequestBuilder . body ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠUnless Ġsuch Ġfunctionality Ġis Ġspecifically Ġneeded , Ġusers Ġare Ġadv ised Ġto Ġuse Ġthe Ġsa fer Ġ[ Rest Service ] Ġcalls . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġroute ĠThe Ġroute Ġto Ġwhich Ġto Ġsend Ġa Ġrequest . ĊĠĠĠĠ Ġ* Ġ@ param Ġblock ĠThe Ġconfiguration Ġfor Ġthis Ġrequest . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ K ord Unsafe ĊĠĠĠ Ġ@ K ord Experimental ĊĠĠĠ Ġsuspend Ġinline Ġfun Ġ< T > Ġunsafe ( route : ĠRoute < T >, Ġblock : ĠRequest Builder < T >. () Ġ-> ĠUnit ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcalls In Place ( block , ĠInvocation Kind . EX ACT LY _ ON CE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġcall ( route ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠRest Client ( token : ĠString ): ĠRest Client Ġ{ ĊĠĠĠ Ġval Ġrequest Handler Ġ= ĠK tor RequestHandler ( token ) ĊĠĠĠ Ġreturn ĠRest Client ( request Handler ) Ċ } Ċ