This is a dating app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

54 lines
1.4 KiB

package com.example.dattingapp.registration
import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import java.util.concurrent.TimeUnit
object NetworkModule {
private const val AUTH_BASE_URL =
"https://counts-indicates-stud-addressing.trycloudflare.com"
private const val UPLOAD_BASE_URL =
"https://counts-indicates-stud-addressing.trycloudflare.com/"
private fun createClient(): OkHttpClient {
val logging = HttpLoggingInterceptor().apply {
level = HttpLoggingInterceptor.Level.BODY
}
return OkHttpClient.Builder()
.addInterceptor(logging)
.connectTimeout(60, TimeUnit.SECONDS)
.readTimeout(120, TimeUnit.SECONDS)
.writeTimeout(120, TimeUnit.SECONDS)
.build()
}
private fun createRetrofit(baseUrl: String): Retrofit {
return Retrofit.Builder()
.baseUrl(baseUrl)
.client(createClient())
.addConverterFactory(GsonConverterFactory.create())
.build()
}
// Registration API
val authApi: ApiService by lazy {
createRetrofit(AUTH_BASE_URL)
.create(ApiService::class.java)
}
// Upload API
val uploadApi: ApiService by lazy {
createRetrofit(UPLOAD_BASE_URL)
.create(ApiService::class.java)
}
}