# 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

Modifier and Type
Method
Description
`String`
`generateHeader(Cookie cookie)`
Generate the `Set-Cookie` HTTP header value for the given Cookie.
`String`
`generateHeader(Cookie cookie, HttpServletRequest request)`
Generate the `Set-Cookie` HTTP header value for the given Cookie.
`boolean`
`getAllowEqualsInValue()`
`boolean`
`getAllowHttpSepsInV0()`
`boolean`
`getAllowNameOnly()`
`boolean`
`getAlwaysAddExpires()`
`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

`getCookiesWithoutEquals, getCookiesWithoutEqualsInternal, getPartitioned, getSameSiteCookies, setCookiesWithoutEquals, setPartitioned, setSameSiteCookies`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### LegacyCookieProcessor

public LegacyCookieProcessor()

## Method Details

### 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 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 parse
  `serverCookies` - The server cookies object to populate with the results of the parsing

### generateHeader

public String generateHeader(Cookie cookie)
Description copied from interface: `CookieProcessor`
Generate the `Set-Cookie` HTTP header value for the given Cookie.

Parameters:
  `cookie` - The cookie for which the header will be generated
Returns:
  The header value in a form that can be added directly to the response

### generateHeader

public String generateHeader(Cookie cookie, HttpServletRequest request)
Description copied from interface: `CookieProcessor`
Generate the `Set-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 deciding 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.

The default implementation calls the deprecated `CookieProcessor.generateHeader(Cookie)` method. Implementors should not rely on this default method as it is present only for transitional compatibility and will be removed in Tomcat 10 at the same time as the `CookieProcessor.generateHeader(Cookie)` method.

Parameters:
  `cookie` - The cookie for which the header will be generated
  `request` - The servlet request
Returns:
  The header value in a form that can be added directly to the response