
com.aaronbedra.web.request.SimpleCookieJar Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of security-traits Show documentation
Show all versions of security-traits Show documentation
A collection of security traits
The newest version!
package com.aaronbedra.web.request;
import lombok.Value;
import okhttp3.Cookie;
import okhttp3.CookieJar;
import okhttp3.HttpUrl;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.jnape.palatable.lambda.adt.Maybe.maybe;
@Value
public class SimpleCookieJar implements CookieJar {
Map> cookieMap;
private SimpleCookieJar(Map> cookieMap) {
this.cookieMap = cookieMap;
}
public static SimpleCookieJar simpleCookieJar() {
return new SimpleCookieJar(new HashMap<>());
}
@NotNull
@Override
public List loadForRequest(@NotNull HttpUrl httpUrl) {
return maybe(httpUrl).flatMap(url -> maybe(cookieMap.get(url))).orElse(new ArrayList<>());
}
@Override
public void saveFromResponse(@NotNull HttpUrl httpUrl, @NotNull List cookies) {
this.cookieMap.put(httpUrl, cookies);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy