Skip to content

Instantly share code, notes, and snippets.

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 fbatroni/d490fc48149b99fe11ede67ff11389ea to your computer and use it in GitHub Desktop.
Save fbatroni/d490fc48149b99fe11ede67ff11389ea to your computer and use it in GitHub Desktop.
Simple implementation of OkHttp3 CookieJar
import okhttp3.Cookie;
import okhttp3.CookieJar;
import okhttp3.HttpUrl;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class SimpleOkHttpCookieJar implements CookieJar {
private List<Cookie> storage = new ArrayList<>();
@Override
public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
storage.addAll(cookies);
}
@Override
public List<Cookie> loadForRequest(HttpUrl url) {
// Remove expired Cookies
storage.removeIf(cookie -> cookie.expiresAt() < System.currentTimeMillis());
// Only return matching Cookies
return storage.stream().filter(cookie -> cookie.matches(url)).collect(Collectors.toList());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment