# Interface CookieProcessor

All Known Implementing Classes:
  `CookieProcessorBase, Rfc6265CookieProcessor`

public interface CookieProcessor
Interface for processing HTTP cookies.

## Method Summary

Modifier and Type
Method
Description
`String`
`generateHeader(Cookie cookie, HttpServletRequest request)`
Generate the `Set-Cookie` HTTP header value for the given Cookie.
`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.
`void`
`parseCookieHeader(MimeHeaders headers, ServerCookies serverCookies)`
Parse the provided headers into server cookie objects.

## Method Details

### parseCookieHeader

void parseCookieHeader(MimeHeaders headers, ServerCookies serverCookies)
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

String generateHeader(Cookie cookie, HttpServletRequest request)
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.

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

### getCharset

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.

Returns:
  The character set used for byte<->character conversions