Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun initKTorClient(
- context: Context,
- authCookieStorage: AuthCookieStorage,
- connectivityInterceptor: ConnectivityInterceptor,
- errorCodeInterceptor: ErrorCodeInterceptor
- ) = HttpClient(OkHttp) {
- install(HttpCookies) {
- storage = authCookieStorage
- }
- }
- factory { AuthCookieStorage(userData = get()) }
- single {
- initKTorClient(
- context = androidContext(),
- authCookieStorage = get(),
- connectivityInterceptor = get(),
- errorCodeInterceptor = get()
- )
- }
- //
- class AuthCookieStorage(
- private val userData: UserData
- ) : CookiesStorage {
- override suspend fun addCookie(requestUrl: Url, cookie: Cookie) {
- Log.v("AuthCookieStorage -->", "requestUrl => $requestUrl, cookie => ${cookie.name} : ${cookie.value}")
- if (cookie.name == AUTH_COOKIE) userData.updateAuthCookie(cookie.value)
- }
- override fun close() { }
- override suspend fun get(requestUrl: Url): List<Cookie> =
- userData.watchAuthCookie.map { value ->
- Cookie(AUTH_COOKIE, value)
- }.toList()
- companion object {
- private const val AUTH_COOKIE = "set-cookie"
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement