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) } }