domain module

This commit is contained in:
2024-08-11 17:40:13 +03:00
parent 648850f1c8
commit 0500969d81
77 changed files with 282 additions and 267 deletions
@@ -2,12 +2,14 @@ package dev.meloda.fast.network.di
import com.chuckerteam.chucker.api.ChuckerCollector
import com.chuckerteam.chucker.api.ChuckerInterceptor
import com.slack.eithernet.ApiResultCallAdapterFactory
import com.slack.eithernet.ApiResultConverterFactory
import com.squareup.moshi.Moshi
import dev.meloda.fast.common.AppConstants
import dev.meloda.fast.network.JsonConverter
import dev.meloda.fast.network.MoshiConverter
import dev.meloda.fast.network.OAuthResultCallFactory
import dev.meloda.fast.network.ResponseConverterFactory
import dev.meloda.fast.network.interceptor.AccessTokenInterceptor
import dev.meloda.fast.network.interceptor.LanguageInterceptor
import dev.meloda.fast.network.interceptor.VersionInterceptor
import dev.meloda.fast.network.service.account.AccountService
@@ -22,9 +24,7 @@ import dev.meloda.fast.network.service.oauth.OAuthService
import dev.meloda.fast.network.service.photos.PhotosService
import dev.meloda.fast.network.service.users.UsersService
import dev.meloda.fast.network.service.videos.VideosService
import com.slack.eithernet.ApiResultCallAdapterFactory
import com.slack.eithernet.ApiResultConverterFactory
import com.squareup.moshi.Moshi
import okhttp3.Interceptor
import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import org.koin.core.module.dsl.singleOf
@@ -41,14 +41,13 @@ val networkModule = module {
singleOf(::MoshiConverter) bind JsonConverter::class
single { ChuckerCollector(get()) }
single { ChuckerInterceptor.Builder(get()).collector(get()).build() }
singleOf(::AccessTokenInterceptor)
singleOf(::VersionInterceptor)
singleOf(::LanguageInterceptor)
single {
OkHttpClient.Builder()
.connectTimeout(20, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.addInterceptor(get<AccessTokenInterceptor>())
.addInterceptor(get(named("token_interceptor")) as Interceptor)
.addInterceptor(get<VersionInterceptor>())
.addInterceptor(get<LanguageInterceptor>())
.addInterceptor(get<ChuckerInterceptor>())
@@ -1,25 +0,0 @@
package dev.meloda.fast.network.interceptor
import androidx.core.net.toUri
import dev.meloda.fast.common.UserConfig
import okhttp3.Interceptor
import okhttp3.Response
import java.net.URLEncoder
class AccessTokenInterceptor : Interceptor {
override fun intercept(chain: Interceptor.Chain): Response {
val builder = chain.request().url.newBuilder()
val uri = builder.build().toUri().toString().toUri()
if (uri.getQueryParameter("access_token") == null) {
builder.addQueryParameter(
"access_token",
URLEncoder.encode(UserConfig.accessToken, "utf-8")
)
}
return chain.proceed(chain.request().newBuilder().apply { url(builder.build()) }.build())
}
}