package Ġcom . bs im sek . github repo search . presentation . di . modules Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . bs im sek . github repo search . core . App Constants . BASE _ URL Ċ import Ġcom . bs im sek . github repo search . core . data . Request Interceptor Ċ import Ġcom . bs im sek . github repo search . data . Github Repo Services Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ 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 Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ class ĠNetwork Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġinternal Ġfun Ġprovide Request Interceptor ( context : ĠContext ): ĠRequest Interceptor Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRequest Interceptor ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġinternal Ġfun Ġprovide Http Logging Interceptor (): ĠHttp Logging Interceptor Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠHttp Logging Interceptor (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠHttp Logging Interceptor . Level . BODY ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġinternal Ġfun Ġprovide Ok HttpClient ( ĊĠĠĠĠĠĠĠ Ġrequest Interceptor : ĠRequest Interceptor , ĊĠĠĠĠĠĠĠ Ġhttp Logging Interceptor : ĠHttp Logging Interceptor ĊĠĠĠ Ġ): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( http Logging Interceptor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( request Interceptor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġinternal Ġfun Ġprovide Ret rofit ( ok HttpClient : ĠOk HttpClient ): ĠRet rofit Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġinternal Ġfun Ġprovide Github Repo Api ( ret rofit : ĠRet rofit ): ĠGithub Repo Services Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create ( Github Repo Services :: class . java ) ĊĠĠĠ Ġ} Ċ }