package Ġcom . v ish al gu pta . hm h . ktor demo . networking Ċ Ċ import Ġcom . v ish al gu pta . hm h . ktor demo . init Logger Ċ import Ġcom . v ish al gu pta . hm h . ktor demo . list Module . Model Post Ċ import Ġio . github . a ak ira . n api er . N api er Ċ import Ġio . ktor . client .* Ċ import Ġio . ktor . client . features . json .* Ċ import Ġio . ktor . client . features . json . serializer .* Ċ import Ġio . ktor . client . features . logging .* Ċ import Ġio . ktor . client . request .* Ċ import Ġio . ktor . client . statement .* Ċ Ċ class ĠNetwork ing Service Ġ{ ĊĊĠĠ Ġprivate Ġval Ġhttp client Ġ= ĠHttpClient (){ ĊĠĠĠĠĠĠĠ Ġinstall ( Logging ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠLogLevel . ALL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger Ġ= Ġobject Ġ: ĠLogger Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġlog ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN api er . v ( tag =" Http ĠClient ", message = Ġmessage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġinstall ( Json Feature ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson n Ġ= Ġkotlinx . serialization . json . Json Ġ{ Ġignore Unknown Keys Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserializer Ġ= ĠKotlin x Serializer ( json n ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}. also Ġ{ Ġinit Logger () Ġ} ĊĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġget Hello () Ġ: ĠString { ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ: ĠHttpResponse Ġ= Ġ Ġhttp client . get (" https :// json placeholder . typ icode . com / posts / 1 ") ĊĠĠĠĠĠĠĠ Ġreturn Ġresponse . read Text () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġget Single Post () Ġ: ĠModel Post { ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ: ĠModel Post Ġ= Ġ Ġhttp client . get (" https :// json placeholder . typ icode . com / posts / 1 ") ĊĠĠĠĠĠĠĠ Ġreturn Ġresponse ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġget Post List (): List < Model Post >{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ: ĠList < Model Post > Ġ= Ġhttp client . get (" https :// json placeholder . typ icode . com / posts ") ĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġresponse ; ĊĠĠĠ Ġ} Ċ }