// 1st module Inside VerificationModule.kt factory { provideVerificationOkHttpClient(androidContext()) } // Defination 1 fun provideVerificationOkHttpClient(context: Context) : OkHttpClient { return OkHttpClient.Builder() .connectTimeout(30, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .writeTimeout(30, TimeUnit.SECONDS) .addInterceptor { chain -> val request = chain.request().newBuilder() .addHeader("account-id", "12323534565645") .addHeader("api-key", "ADFGDFG-2334DC-SDASDF") .addHeader("Content-Type", "application/json") .build() chain.proceed(request) } .addInterceptor(loggingInterceptor) .cache(cache) .build() } // 2nd Module In NetworkModule.kt factory { provideDefaultOkHttpClient(androidContext()) } // Defination 2 fun provideDefaultOkHttpClient() : OkHttpClient { return OkHttpClient.Builder() .connectTimeout(30, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .writeTimeout(30, TimeUnit.SECONDS) .addInterceptor(loggingInterceptor) .cache(cache) .build() }