object RetrofitCreator{
val BASE_URL = Github.getConfiguration(ConfigKeys.API_HOST) as String
val RETROFIT_CLIENT = Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.client(OKCLIENT.CLIENT)
.build()
}
object OKCLIENT{
const val TIME_OUT:Long =60;
val BUILDER by lazy {
OkHttpClient.Builder()
}
fun getBuilder():OkHttpClient.Builder {
Github.getConfiguration<ArrayList<Interceptor>>(ConfigKeys.INTERCEPTOR).map{
BUILDER.addInterceptor(it)
}
return BUILDER
}
val CLIENT = getBuilder()
.connectTimeout(TIME_OUT, TimeUnit.SECONDS)
.readTimeout(TIME_OUT,TimeUnit.SECONDS)
.cache(Cache(cacheFile,1024*1024*1024))
.build()
}