vio
07/18/2021, 1:37 PMsessions
to allow authentication with cookies, but I'm not sure how to configure the apollo client to allow cookies. Any suggestions are helpful, thank you! ๐๐ป
My code looks like this:
val url = "....
val okHttp = OkHttpClient
.Builder()
.build()
val apolloClient = ApolloClient
.builder()
.serverUrl(url)
.okHttpClient(okHttp)
.build()
vio
07/18/2021, 1:39 PMcookieJar
but can't seem to find the right libraries for kotlin
something like this, (this code is not compiling):
val cookieManager = CookieManager()
CookieHandler.setDefault(cookieManager)
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL)
val okHttp = OkHttpClient
.Builder()
.cookieJar(JavaNetCookieJar(cookieManager)) // this has syntax errors
.build()
mbonnin
07/18/2021, 2:26 PMmbonnin
07/18/2021, 2:28 PMnew CookieJar() {
private final HashMap<HttpUrl, List<Cookie>> cookieStore = new HashMap<>();
@Override
public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
cookieStore.put(url, cookies);
}
@Override
public List<Cookie> loadForRequest(HttpUrl url) {
List<Cookie> cookies = cookieStore.get(url);
return cookies != null ? cookies : new ArrayList<Cookie>();
}
}
vio
07/18/2021, 2:42 PMval jar = object : CookieJar {
private val cookieStore = HashMap<HttpUrl, List<Cookie>>()
override fun saveFromResponse(url: HttpUrl, cookies: List<Cookie>) {
cookieStore[url] = cookies
}
override fun loadForRequest(url: HttpUrl): List<Cookie> {
val cookies = cookieStore[url]
return cookies ?: ArrayList()
}
}
val okHttp = OkHttpClient
.Builder()
.cookieJar(jar)
.build()
val apolloClient = ApolloClient
.builder()
.serverUrl(url)
.okHttpClient(okHttp)
.build()
mbonnin
07/18/2021, 4:55 PMmbonnin
07/18/2021, 4:55 PMvio
07/20/2021, 6:54 AMmbonnin
07/20/2021, 12:10 PMmbonnin
07/20/2021, 12:10 PMsaveFromResponse
mbonnin
07/20/2021, 12:11 PMvio
07/28/2021, 4:14 PMmbonnin
07/28/2021, 4:15 PM