Set dynamic base url using Retrofit 2.0 and Dagger 2

前端 未结 8 590
南旧
南旧 2020-11-27 12:36

I\'m trying to perform a login action using Retrofit 2.0 using Dagger 2

Here\'s how I set up Retrofit dependency

@Provides
@Singleton
Retrofit provid         


        
8条回答
  •  暗喜
    暗喜 (楼主)
    2020-11-27 12:52

    This worked for me in Kotlin

    class HostSelectionInterceptor: Interceptor {
    
        override fun intercept(chain: Interceptor.Chain): Response {
    
            var request = chain.request()
    
            val host: String = SharedPreferencesManager.getServeIpAddress()
    
            val newUrl = request.url().newBuilder()
                .host(host)
                .build()
    
            request = request.newBuilder()
                .url(newUrl)
                .build()
    
            return chain.proceed(request)
        }
    
    }
    

    Add the interceptor to OkHttpClient builder

    val okHttpClient = OkHttpClient.Builder()
                    .addInterceptor(HostSelectionInterceptor())
                    .cache(null)
                    .build()
    

提交回复
热议问题