summaryrefslogtreecommitdiff
path: root/benchmark/app/src/main/java/io/trentetroim/benchmark/api/service/RetrofitClient.kt
diff options
context:
space:
mode:
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.kt43
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)
+ }
+}