/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 ĠAnd rÃ© ĠCla ÃŁ en Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . burn out cre w . store k mp . data . remote Ċ Ċ import Ġio . ktor . client .* Ċ import Ġio . ktor . client . call .* Ċ import Ġio . ktor . client . plugins . content neg otiation .* Ċ import Ġio . ktor . client . request .* Ċ import Ġio . ktor . http .* Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġio . ktor . serialization . kotlin x . json .* Ċ internal Ġclass ĠData Fetcher Ġ{ ĊĠĠĠ Ġprivate Ġval Ġclient Ġ= ĠHttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġinstall ( Content Neg otiation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson ( Json Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġignore Unknown Keys Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġsuspend Ġfun Ġfetch Latest Sub reddit ( sub redit Name : ĠString ): ĠRed dit Api Data Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . Default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . request ("$ BASE _ URL / r /$ sub redit Name / new $ JSON _ ENCODING ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmethod Ġ= ĠHttpMethod . Get ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. body () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġsuspend Ġfun Ġfetch Best Sub redd its (): ĠRed dit Api Data Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . Default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . request ("$ BASE _ URL / best $ JSON _ ENCODING ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmethod Ġ= ĠHttpMethod . Get ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. body () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠBASE _ URL : ĠString Ġ= Ġ" https :// www . reddit . com " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠJSON _ ENCODING : ĠString Ġ= Ġ"/ . json ? raw _ json = 1 " ĊĠĠĠ Ġ} Ċ }