From 836b5ef72552c03f2791823960fc676ef3dbe8c0 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 8 Nov 2020 16:12:25 +0530 Subject: [PATCH] app: add Ktor client module Signed-off-by: Harsh Shandilya --- app/build.gradle.kts | 4 +++ .../lobsters/injection/KtorApiModule.kt | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 app/src/main/java/dev/msfjarvis/lobsters/injection/KtorApiModule.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 56cafbd4..b0f878a6 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -91,6 +91,10 @@ dependencies { implementation(Dependencies.AndroidX.Room.runtime) implementation(Dependencies.AndroidX.Room.ktx) implementation(Dependencies.Kotlin.Coroutines.android) + implementation(Dependencies.Kotlin.Ktor.clientCore) + implementation(Dependencies.Kotlin.Ktor.clientJson) + implementation(Dependencies.Kotlin.Ktor.clientOkHttp) + implementation(Dependencies.Kotlin.Ktor.clientSerialization) implementation(Dependencies.Kotlin.Serialization.json) implementation(Dependencies.ThirdParty.accompanist) implementation(Dependencies.ThirdParty.customtabs) diff --git a/app/src/main/java/dev/msfjarvis/lobsters/injection/KtorApiModule.kt b/app/src/main/java/dev/msfjarvis/lobsters/injection/KtorApiModule.kt new file mode 100644 index 00000000..a9fad0f7 --- /dev/null +++ b/app/src/main/java/dev/msfjarvis/lobsters/injection/KtorApiModule.kt @@ -0,0 +1,26 @@ +package dev.msfjarvis.lobsters.injection + +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.android.components.ApplicationComponent +import io.ktor.client.HttpClient +import io.ktor.client.engine.okhttp.OkHttp +import io.ktor.client.features.json.JsonFeature +import io.ktor.client.features.json.serializer.KotlinxSerializer + +@Module +@InstallIn(ApplicationComponent::class) +object KtorApiModule { + @Provides + fun provideClient() = HttpClient(OkHttp) { + install(JsonFeature) { + serializer = KotlinxSerializer() + } + engine { + config { + followSslRedirects(true) + } + } + } +}