Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package id.co.vascomm.smart.support.api
- import android.util.Log
- import id.co.vascomm.smart.BuildConfig
- import okhttp3.Interceptor
- import okhttp3.OkHttpClient
- import okhttp3.logging.HttpLoggingInterceptor
- import retrofit2.Retrofit
- import retrofit2.converter.scalars.ScalarsConverterFactory
- import java.util.concurrent.TimeUnit
- class MainClient {
- companion object {
- //const val BASE_URL_AP = "http://192.168.4.1:80"
- const val BASE_URL_AP = "http://169.254.14.254:9998"
- //const val BASE_URL_END = "http://11.0.0.54:5000"
- // const val BASE_URL_END = "http://192.168.172.19:5000"
- const val BASE_URL_END = "https://api.vasdev.co.id:8066/sitamoto/"
- }
- private val log by lazy { HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY) }
- fun clientMain(url: String, sessionId: String? = null): MainApi {
- Log.d("Client", "$url $sessionId")
- val clientMain = OkHttpClient.Builder().apply {
- if (BuildConfig.DEBUG) {
- addInterceptor(log)
- }
- if (sessionId != null) addInterceptor {
- val original = it.request()
- val request = original.newBuilder()
- .addHeader("Session-Id", "$sessionId")
- .method(original.method(), original.body())
- .build()
- return@addInterceptor it.proceed(request)
- }
- addInterceptor {
- val original = it.request()
- val request = original.newBuilder()
- .addHeader("Session-Key", "apps")
- .method(original.method(), original.body())
- .build()
- return@addInterceptor it.proceed(request)
- }
- }
- .connectTimeout(60, TimeUnit.SECONDS)
- .writeTimeout(60, TimeUnit.SECONDS)
- .readTimeout(60, TimeUnit.SECONDS)
- val retrofit by lazy {
- Retrofit.Builder().baseUrl(url)
- .addConverterFactory(ScalarsConverterFactory.create())
- .client(clientMain.build())
- .build()
- }
- return retrofit.create(MainApi::class.java)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement