Skip to content

Instantly share code, notes, and snippets.

@johannes-staehlin
Created January 2, 2017 11:50
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save johannes-staehlin/63a72467bd1f21829d11bc55456c5836 to your computer and use it in GitHub Desktop.
Save johannes-staehlin/63a72467bd1f21829d11bc55456c5836 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