Class ClientCookieEncoder


  • public final class ClientCookieEncoder
    extends CookieEncoder
    A RFC6265 compliant cookie encoder to be used client side, so only name=value pairs are sent. User-Agents are not supposed to interpret cookies, so, if present, Cookie#rawValue() will be used. Otherwise, Cookie.value() will be used unquoted. Note that multiple cookies are supposed to be sent at once in a single "Cookie" header.
     // Example
     HttpRequest req = ...;
     res.setHeader("Cookie", ClientCookieEncoder.encode("JSESSIONID", "1234"));
     
    See Also:
    ClientCookieDecoder
    • Field Detail

      • STRICT

        public static final ClientCookieEncoder STRICT
        Strict encoder that validates that name and value chars are in the valid scope defined in RFC6265
      • LAX

        public static final ClientCookieEncoder LAX
        Lax instance that doesn't validate name and value
    • Method Detail

      • encode

        public String encode​(String name,
                             String value)
        Encodes the specified cookie into a Cookie header value.
        Parameters:
        name - the cookie name
        value - the cookie value
        Returns:
        a Rfc6265 style Cookie header value
      • encode

        public String encode​(Cookie cookie)
        Encodes the specified cookie into a Cookie header value.
        Parameters:
        specified - the cookie
        Returns:
        a Rfc6265 style Cookie header value
      • encode

        public String encode​(Cookie... cookies)
        Encodes the specified cookies into a single Cookie header value.
        Parameters:
        cookies - some cookies
        Returns:
        a Rfc6265 style Cookie header value, null if no cookies are passed.
      • encode

        public String encode​(Iterable<? extends Cookie> cookies)
        Encodes the specified cookies into a single Cookie header value.
        Parameters:
        cookies - some cookies
        Returns:
        a Rfc6265 style Cookie header value, null if no cookies are passed.