Skip to content

Instantly share code, notes, and snippets.

@sergei-mikhailovskii-idf
Created November 14, 2022 20:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sergei-mikhailovskii-idf/0383016581b3df717bfb3ae3ffb698df to your computer and use it in GitHub Desktop.
Save sergei-mikhailovskii-idf/0383016581b3df717bfb3ae3ffb698df to your computer and use it in GitHub Desktop.
class CookiesStorage(private val localStorageRepository: DataStoreRepository) :
io.ktor.client.plugins.cookies.CookiesStorage {
override suspend fun addCookie(requestUrl: Url, cookie: Cookie) {
if (CookieType.values().any { it.value == cookie.name }) {
localStorageRepository.saveString(cookie.name, cookie.value)
}
}
override fun close() {}
override suspend fun get(requestUrl: Url) = mutableListOf<Cookie>().apply {
CookieType.values().forEach { cookie ->
localStorageRepository.getString(cookie.value)?.let {
println("Loaded: ${cookie.value}=$it")
add(Cookie(cookie.value, it))
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment