package Ġy w xt . ssr . subscribe . async . http Ċ Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . suspend C ancellable Coroutine Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġokhttp 3 .* Ċ import Ġy w xt . ssr . subscribe . exception . HttpException Ċ import Ġy w xt . ssr . subscribe . ssr . S sr Url Ċ import Ġy w xt . ssr . subscribe . ssr . S sr Url Convert Ċ import Ġy w xt . ssr . subscribe . util . base 6 4 . decode Base 6 4 Ċ import Ġjava . io . IOException Ċ import Ġjava . net . URL Ċ import Ġkotlin . coroutines . resume Ċ import Ġkotlin . coroutines . resume With Exception Ċ Ċ class ĠAsync Client Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠhttpClient Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġrequest Plain Text ( url : ĠURL ): ĠString Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= ĠhttpClient . call Async ( request ). body ĊĠĠĠĠĠĠĠ Ġbody . use Ġ{ Ġit ?. string () Ġ} Ġ?: Ġthrow ĠHttp Exception (" çĽ®æłĩ é¡µéĿ¢ æĹłæ³ķ è½¬æį¢ ä¸º æĸĩæľ¬ ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġrequest S sr Urls ( url : ĠURL ): ĠList < S sr Url > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbody Text Ġ= Ġrequest Plain Text ( url ) ĊĠĠĠĠĠĠĠ Ġval Ġs sr Urls Text Ġ= Ġbody Text . decode Base 6 4 ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. line Sequence () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . isNotBlank () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġs sr Urls Text . map Ġ{ ĠS sr Url Convert . from ( it ) Ġ}. toList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun ĠOk HttpClient . call Async ( request : ĠRequest ): ĠResponse Ġ= ĊĠĠĠĠĠĠĠ Ġsuspend C ancellable Coroutine Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcall Ġ= Ġnew Call ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcont . invoke On Cancellation Ġ{ Ġif Ġ(! call . is Canceled ()) Ġcall . cancel () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . enqueue ( object Ġ: ĠCallback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall , Ġe : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcont . resume With Exception ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall , Ġresponse : ĠResponse ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcont . resume ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊ Ċ } ĊĊĊ