package Ġapp . if ny as . jen ius . api Ċ Ċ import Ġapp . if ny as . jen ius . App . Companion . su Ċ import Ġapp . if ny as . jen ius . util . Session Utils . Companion . accessToken _ STR Ċ import Ġapp . if ny as . jen ius . util . Session Utils . Companion . b tp n ApiKey _ STR Ċ import Ġapp . if ny as . jen ius . util . Session Utils . Companion . id Token _ STR Ċ import Ġio . ktor . client .* Ċ import Ġio . ktor . client . engine . android .* Ċ 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 ĠApi Client Ġ{ ĊĠĠĠ Ġval ĠhttpClient : ĠHttpClient Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠHttpClient ( Android ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinstall ( Json Feature ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġserializer Ġ= ĠKotlin x Serializer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpretty Print Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Len ient Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġignore Unknown Keys Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġinstall ( Logging ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger Ġ= ĠLogger . SIMPLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠLogLevel . ALL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Request Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhost Ġ= Ġ" api . b tp n . com " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ{ Ġprotocol Ġ= ĠURL Protocol . HTTPS Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders . append ( HttpHeaders . ContentType , ĠContentType . Application . Json ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders . append ( HttpHeaders . Authorization , Ġ"${ su . get ( accessToken _ STR )} ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders . append (" B TP N - ApiKey ", Ġ"${ su . get ( b tp n ApiKey _ STR )} ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders . append (" X - ID - Token ", Ġ"${ su . get ( id Token _ STR )} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }