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()
cookieJar
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 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 PMvio
07/20/2021, 6:54 AMmbonnin
07/20/2021, 12:10 PMsaveFromResponse
vio
07/28/2021, 4:14 PMmbonnin
07/28/2021, 4:15 PM