package Ġcom . prime lab . common . network Ċ Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġm . im ran Ċ Ġ* ĠSen ior ĠSoftware ĠEngineer Ġat Ċ Ġ* ĠPrime Lab . io Ġon Ġ 0 9 / 0 2 / 2 0 2 2 . Ċ Ġ*/ Ċ abstract Ġclass ĠBase Network Module Impl Ġ: ĠBase Network Module Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Ret rofit ( httpClient : ĠOk HttpClient , Ġsuffix : ĠString ): ĠRet rofit Ġ= ĊĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( get BaseUrl ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( httpClient ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġoverride Ġfun Ġget Ok HttpClient ( aut Interceptor : ĠInter ceptor ?): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlogging Ġ= ĠHttp Logging Interceptor (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . level Ġ= ĠHttp Logging Interceptor . Level . BODY ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġok httpClient Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging ) ĊĠĠĠĠĠĠĠ Ġaut Interceptor ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġok httpClient . add Interceptor ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġok httpClient . build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġ< T > Ġget AP i ( ret rofit : ĠRet rofit , Ġclazz : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create ( clazz ) ĊĠĠĠ Ġ} Ċ }