Use interceptor to handle cookies instead

This commit is contained in:
FooIbar authored and tarsin committed 2023-07-02 07:20:46 +08:00
1 parent ac680afad3
commit a3abd224e8
2 files changed
+4 -4

No files matched your search

@@ -18,7 +18,6 @@ package com.google.net.cronet.okhttptransport;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import com.hippo.ehviewer.client.EhCookieStore;
import org.chromium.net.CronetEngine;
import org.chromium.net.UrlRequest;
@@ -95,8 +94,6 @@ final class RequestResponseConverter {
for (int i = 0; i < okHttpRequest.headers().size(); i++) {
builder.addHeader(okHttpRequest.headers().name(i), okHttpRequest.headers().value(i));
}
var cookies = EhCookieStore.INSTANCE.getCookieHeader(okHttpRequest.url());
builder.addHeader("Cookie", cookies);
RequestBody body = okHttpRequest.body();
@@ -164,8 +164,11 @@ class EhApplication : Application(), ImageLoaderFactory {
// TODO: Rewrite CronetInterceptor to use android.net.http.HttpEngine and make it Android 14 only when released
addInterceptor { chain ->
val request = chain.request()
val response = chain.proceed(request)
val url = request.url
val newRequest = request.newBuilder()
.addHeader("Cookie", EhCookieStore.getCookieHeader(url))
.build()
val response = chain.proceed(newRequest)
EhCookieStore.saveFromResponse(url, Cookie.parseAll(url, response.headers))
response
}