package Ġcom . sam my scl . network Ċ Ċ import Ġandroid . util . Base 6 4 Ċ Ċ import Ġcom . sam my scl . Helpers . Constants Ċ Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . Request Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . adapter . rx java . Rx Java Call Adapter Factory Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġrx . schedul ers . Schedulers Ċ Ċ object ĠNetwork Util Ġ{ ĊĊĠĠĠ Ġval Ġretrofit : ĠRet rofit Interface ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrx Adapter Ġ= ĠRx Java Call Adapter Factory . create With Scheduler ( Schedulers . io ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Constants . BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( rx Adapter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (). create ( Ret rofit Interface :: class . java !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Ret rofit ( email : ĠString , Ġpassword : ĠString ): ĠRet rofit Interface Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġcredentials Ġ= Ġ"$ email :$ password " ĊĠĠĠĠĠĠĠ Ġval Ġbasic Ġ= Ġ" Basic Ġ" Ġ+ ĠBase 6 4 . encode ToString ( credentials . toByteArray (), ĠBase 6 4 . NO _ WRAP ) ĊĠĠĠĠĠĠĠ Ġval ĠhttpClient Ġ= ĠOk HttpClient . Builder () ĊĊĠĠĠĠĠĠĠ ĠhttpClient . add Interceptor Ġ{ Ġchain Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġchain . request () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġoriginal . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" Authorization ", Ġbasic ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. method ( original . method (), Ġoriginal . body ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchain . proceed ( builder . build ()) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġrx Adapter Ġ= ĠRx Java Call Adapter Factory . create With Scheduler ( Schedulers . io ()) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Constants . BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( httpClient . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( rx Adapter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (). create ( Ret rofit Interface :: class . java !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Ret rofit ( token : ĠString ): ĠRet rofit Interface Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠhttpClient Ġ= ĠOk HttpClient . Builder () ĊĊĠĠĠĠĠĠĠ ĠhttpClient . add Interceptor Ġ{ Ġchain Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġchain . request () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġoriginal . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" x - access - token ", Ġtoken ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. method ( original . method (), Ġoriginal . body ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchain . proceed ( builder . build ()) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġrx Adapter Ġ= ĠRx Java Call Adapter Factory . create With Scheduler ( Schedulers . io ()) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Constants . BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( httpClient . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( rx Adapter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (). create ( Ret rofit Interface :: class . java !! ) ĊĠĠĠ Ġ} Ċ } Ċ