package io.myweb.http; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; public class Cookies { private Map<String, Cookie> cookies = new HashMap<String, Cookie>(); public Cookies(Map<String, Cookie> cookies) { this.cookies = cookies; } public Cookie getCookie(String name) { return cookies.get(name); } public Collection<Cookie> all() { return cookies.values(); } public void setCookie(Cookie cookie) { cookies.put(cookie.getName(), cookie); } public static Cookies parse(Headers headers) { List<Headers.Header> cookieHeaders = headers.findAll(Headers.REQUEST.COOKIE); Map<String, Cookie> cookieMap = new HashMap<String, Cookie>(); for (Headers.Header cookieHeader : cookieHeaders) { for(String cookieStr: cookieHeader.getValue().split(";")) { Cookie cookie = Cookie.parse(cookieStr.trim()); cookieMap.put(cookie.getName(), cookie); } } return new Cookies(cookieMap); } }