diff options
Diffstat (limited to 'benchmark/app/src/main/java/io/trentetroim/benchmark/api/service/RetrofitClient.kt')
| -rw-r--r-- | benchmark/app/src/main/java/io/trentetroim/benchmark/api/service/RetrofitClient.kt | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/benchmark/app/src/main/java/io/trentetroim/benchmark/api/service/RetrofitClient.kt b/benchmark/app/src/main/java/io/trentetroim/benchmark/api/service/RetrofitClient.kt new file mode 100644 index 0000000..7185d3c --- /dev/null +++ b/benchmark/app/src/main/java/io/trentetroim/benchmark/api/service/RetrofitClient.kt @@ -0,0 +1,43 @@ +package io.trentetroim.benchmark.api.service + +import com.google.gson.GsonBuilder +import okhttp3.OkHttpClient +import okhttp3.logging.HttpLoggingInterceptor +import retrofit2.Retrofit +import retrofit2.converter.gson.GsonConverterFactory +import java.util.concurrent.TimeUnit + + +object RetrofitClient { + private const val BASE_URL = "http://89.168.39.144:5431" + private const val TIMEOUT = 30L + + private fun createOkHttpClient(): OkHttpClient { + val loggingInterceptor = HttpLoggingInterceptor().apply { + level = HttpLoggingInterceptor.Level.BODY + } + + return OkHttpClient.Builder() + .addInterceptor(loggingInterceptor) + .connectTimeout(TIMEOUT, TimeUnit.SECONDS) + .readTimeout(TIMEOUT, TimeUnit.SECONDS) + .writeTimeout(TIMEOUT, TimeUnit.SECONDS) + .build() + } + + private val retrofit: Retrofit by lazy { + val gson = GsonBuilder() + .setLenient() + .create() + + Retrofit.Builder() + .baseUrl(BASE_URL) + .client(createOkHttpClient()) + .addConverterFactory(GsonConverterFactory.create(gson)) + .build() + } + + val apiService: ApiService by lazy { + retrofit.create(ApiService::class.java) + } +} |
