Package org.apache.tomcat.util.http
Class LegacyCookieProcessor
- java.lang.Object
-
- org.apache.tomcat.util.http.CookieProcessorBase
-
- org.apache.tomcat.util.http.LegacyCookieProcessor
-
- All Implemented Interfaces:
CookieProcessor
public final class LegacyCookieProcessor extends CookieProcessorBase
The legacy (up to early Tomcat 8 releases) cookie parser based on RFC6265, RFC2109 and RFC2616. This class is not thread-safe.- Author:
- Costin Manolache, kevin seguin
-
-
Field Summary
-
Fields inherited from class org.apache.tomcat.util.http.CookieProcessorBase
ANCIENT_DATE, COOKIE_DATE_FORMAT
-
-
Constructor Summary
Constructors Constructor Description LegacyCookieProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
generateHeader(Cookie cookie, HttpServletRequest request)
Generate theSet-Cookie
HTTP header value for the given Cookie.boolean
getAllowEqualsInValue()
boolean
getAllowHttpSepsInV0()
boolean
getAllowNameOnly()
boolean
getAlwaysAddExpires()
java.nio.charset.Charset
getCharset()
Obtain the character set that will be used when converting between bytes and characters when parsing and/or generating HTTP headers for cookies.boolean
getForwardSlashIsSeparator()
void
parseCookieHeader(MimeHeaders headers, ServerCookies serverCookies)
Parse the provided headers into server cookie objects.void
setAllowEqualsInValue(boolean allowEqualsInValue)
void
setAllowHttpSepsInV0(boolean allowHttpSepsInV0)
void
setAllowNameOnly(boolean allowNameOnly)
void
setAlwaysAddExpires(boolean alwaysAddExpires)
void
setForwardSlashIsSeparator(boolean forwardSlashIsSeparator)
-
Methods inherited from class org.apache.tomcat.util.http.CookieProcessorBase
getSameSiteCookies, setSameSiteCookies
-
-
-
-
Method Detail
-
getAllowEqualsInValue
public boolean getAllowEqualsInValue()
-
setAllowEqualsInValue
public void setAllowEqualsInValue(boolean allowEqualsInValue)
-
getAllowNameOnly
public boolean getAllowNameOnly()
-
setAllowNameOnly
public void setAllowNameOnly(boolean allowNameOnly)
-
getAllowHttpSepsInV0
public boolean getAllowHttpSepsInV0()
-
setAllowHttpSepsInV0
public void setAllowHttpSepsInV0(boolean allowHttpSepsInV0)
-
getForwardSlashIsSeparator
public boolean getForwardSlashIsSeparator()
-
setForwardSlashIsSeparator
public void setForwardSlashIsSeparator(boolean forwardSlashIsSeparator)
-
getAlwaysAddExpires
public boolean getAlwaysAddExpires()
-
setAlwaysAddExpires
public void setAlwaysAddExpires(boolean alwaysAddExpires)
-
getCharset
public java.nio.charset.Charset getCharset()
Description copied from interface:CookieProcessor
Obtain the character set that will be used when converting between bytes and characters when parsing and/or generating HTTP headers for cookies.- Returns:
- The character set used for byte<->character conversions
-
parseCookieHeader
public void parseCookieHeader(MimeHeaders headers, ServerCookies serverCookies)
Description copied from interface:CookieProcessor
Parse the provided headers into server cookie objects.- Parameters:
headers
- The HTTP headers to parseserverCookies
- The server cookies object to populate with the results of the parsing
-
generateHeader
public java.lang.String generateHeader(Cookie cookie, HttpServletRequest request)
Description copied from interface:CookieProcessor
Generate theSet-Cookie
HTTP header value for the given Cookie. This method receives as parameter the servlet request so that it can make decisions based on request properties. One such use-case is decide if the SameSite attribute should be added to the cookie based on the User-Agent or other request header because there are browser versions incompatible with the SameSite attribute. This is described by the Chromium project.- Parameters:
cookie
- The cookie for which the header will be generatedrequest
- The servlet request- Returns:
- The header value in a form that can be added directly to the response
-
-