package Ġid . id n . fa h ru . ber ita app . api . service Ċ Ċ import Ġid . id n . fa h ru . ber ita app . Build Config Ċ import Ġid . id n . fa h ru . ber ita app . model . remote . Response News Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . Response Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġretrofit 2 . http . GET Ċ import Ġretrofit 2 . http . Query Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠIm am ĠF ahr ur ĠR of i Ġon Ġ 2 9 / 0 5 / 2 0 2 0 . Ċ Ġ*/ Ċ object ĠService Builder Ġ{ ĊĠĠĠ Ġprivate Ġval Ġclient Ġ= ĠOk HttpClient . Builder (). add Interceptor ( Request Interceptor ()). build () ĊĊĠĠĠ Ġprivate Ġval Ġretrofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. baseUrl (" https :// news api . org /") ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. client ( client ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġfun Ġ< T > Ġbuild Service ( service : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create ( service ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠRequest Interceptor Ġ: ĠInter ceptor Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġintercept ( chain : ĠInter ceptor . Chain ): ĠResponse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Request Ġ= Ġchain . request () ĊĠĠĠĠĠĠĠ Ġval Ġrequest Builder Ġ= Ġoriginal Request . newBuilder () ĊĠĠĠĠĠĠĠ Ġrequest Builder . add Header (" Authorization ", ĠBuild Config . API _ KEY ) ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder . build () ĊĠĠĠĠĠĠĠ Ġreturn Ġchain . proceed ( request ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠTop Head lines Ġ{ ĊĠĠĠ Ġ@ GET ("/ v 2 / top - head lines ") ĊĠĠĠ Ġsuspend Ġfun Ġfetch Head lines ( ĊĠĠĠĠĠĠĠ Ġ@ Query (" country ") Ġcountry : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Query (" category ") Ġcategory : ĠString ĊĠĠĠ Ġ): Ġretrofit 2 . Response < Response News > Ċ }