package Ġch . d re ip ol . multi platform . redux sample . shared . network Ċ Ċ import Ġch . d re ip ol . d re im ulti platform . ker mit Ċ import Ġch . d re ip ol . multi platform . redux sample . shared . network . api . Dis posal API Ċ import Ġch . d re ip ol . multi platform . redux sample . shared . network . api . Resources Search API Ċ import Ġio . ktor . client .* Ċ import Ġio . ktor . client . features .* Ċ import Ġio . ktor . client . features . json . Json Feature Ċ import Ġio . ktor . client . features . json . serializer .* Ċ import Ġio . ktor . client . features . logging .* Ċ import Ġio . ktor . client . request .* Ċ import Ġio . ktor . http .* Ċ import Ġkotlinx . serialization . json . Json Ċ Ċ object ĠService Factory Ġ{ ĊĊĠĠĠ Ġfun Ġclient () Ġ= ĠHttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġinstall ( Json Feature ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserializer Ġ= ĠKotlin x Serializer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġignore Unknown Keys Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġinstall ( Logging ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger Ġ= ĠHttp Logger () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠLogLevel . ALL ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdefault Request Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl . take From ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠURL Builder (). take From ( Url (" https :// data . st adt - z uer ich . ch / api / 3 / action ")). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencoded Path Ġ+= Ġurl . encoded Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdis posal Service (): ĠDis posal Service Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDis posal Service ( Dis posal API (), ĠResources Search API ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠHttp Logger Ġ: ĠLogger Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġlog ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġker mit (). d Ġ{ Ġmessage Ġ} ĊĠĠĠ Ġ} Ċ }