1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  package org.htmlunit.httpclient;
16  
17  import org.apache.http.cookie.CommonCookieAttributeHandler;
18  import org.apache.http.cookie.Cookie;
19  import org.apache.http.cookie.CookieOrigin;
20  import org.apache.http.cookie.MalformedCookieException;
21  import org.apache.http.cookie.SetCookie;
22  import org.apache.http.impl.cookie.BasicClientCookie;
23  import org.htmlunit.util.StringUtils;
24  
25  
26  
27  
28  
29  
30  final class HtmlUnitSameSiteHandler implements CommonCookieAttributeHandler {
31  
32      private static final String SAMESITE_ATTR = "samesite";
33  
34      @Override
35      public void validate(final Cookie cookie, final CookieOrigin origin) throws MalformedCookieException {
36          
37      }
38  
39      @Override
40      public void parse(final SetCookie cookie, final String value) throws MalformedCookieException {
41          ((BasicClientCookie) cookie).setAttribute(SAMESITE_ATTR, StringUtils.toRootLowerCase(value));
42      }
43  
44      @Override
45      public boolean match(final Cookie cookie, final CookieOrigin origin) {
46          return true;
47      }
48  
49      @Override
50      public String getAttributeName() {
51          return SAMESITE_ATTR;
52      }
53  }