Skip to content

gzeinnumer/InterceptorKT

Repository files navigation

Interceptor

Please Enable Retrofit on your project, follow this step and OkHttp on your project, follow this step.

  • Add dependencies
    implementation 'com.squareup.retrofit2:retrofit:2.6.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
  • Make Class TokenInterceptor
class TokenInterceptor {
    val client: OkHttpClient
        get() {
            val interceptor = HttpLoggingInterceptor()
            interceptor.level = HttpLoggingInterceptor.Level.BODY
            return OkHttpClient.Builder()
                .addInterceptor(interceptor)
                .addInterceptor { chain ->
                    val request = chain.request().newBuilder()
                        .addHeader("Accept", "application/json")
                        .addHeader("Authorization", "Bearer Token")
                        .build()
                    chain.proceed(request)
                }
                .readTimeout(90, TimeUnit.SECONDS)
                .writeTimeout(90, TimeUnit.SECONDS)
                .connectTimeout(90, TimeUnit.SECONDS)
                .retryOnConnectionFailure(false)
                .cache(null)
                .build()
        }
}
  • Add configuration to RetroServer
object RetroServer {
    private const val base_url = "http://192.168.0.121/retrofit/"
    private fun setInit(): Retrofit {
        val client: OkHttpClient = TokenInterceptor().client
        return Retrofit.Builder()
            .baseUrl(base_url)
            .addConverterFactory(GsonConverterFactory.create())
            .client(client)
            .build()
    }

    val instance: ApiService
        get() = setInit().create(ApiService::class.java)
}

interface ApiService {
}

Copyright 2020 M. Fadli Zein

About

add token to retrofit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published