Class CookieEncoder

java.lang.Object
org.jboss.netty.handler.codec.http.CookieEncoder

public class CookieEncoder extends Object
Encodes Cookies into an HTTP header value. This encoder can encode the HTTP cookie version 0, 1, and 2.

This encoder is stateful. It maintains an internal data structure that holds the Cookies added by the addCookie(String, String) method. Once encode() is called, all added Cookies are encoded into an HTTP header value and all Cookies in the internal data structure are removed so that the encoder can start over.

 // Client-side example
 HttpRequest req = ...;
 CookieEncoder encoder = new CookieEncoder(false);
 encoder.addCookie("JSESSIONID", "1234");
 res.setHeader("Cookie", encoder.encode());

 // Server-side example
 HttpResponse res = ...;
 CookieEncoder encoder = new CookieEncoder(true);
 encoder.addCookie("JSESSIONID", "1234");
 res.setHeader("Set-Cookie", encoder.encode());
 
See Also:
  • Field Details

    • cookies

      private final Set<Cookie> cookies
    • server

      private final boolean server
    • strict

      private final boolean strict
  • Constructor Details

    • CookieEncoder

      public CookieEncoder(boolean server)
      Creates a new encoder.
      Parameters:
      server - true if and only if this encoder is supposed to encode server-side cookies. false if and only if this encoder is supposed to encode client-side cookies.
    • CookieEncoder

      public CookieEncoder(boolean server, boolean strict)
      Creates a new encoder.
      Parameters:
      server - true if and only if this encoder is supposed to encode server-side cookies. false if and only if this encoder is supposed to encode client-side cookies.
      strict - true if and only if this encoder is supposed to validate characters according to RFC6265.
  • Method Details

    • addCookie

      public void addCookie(String name, String value)
      Adds a new Cookie created with the specified name and value to this encoder.
    • addCookie

      public void addCookie(Cookie cookie)
      Adds the specified Cookie to this encoder.
    • encode

      public String encode()
      Encodes the Cookies which were added by addCookie(Cookie) so far into an HTTP header value. If no Cookies were added, an empty string is returned. Be aware that calling this method will clear the content of the CookieEncoder
    • encodeServerSide

      private String encodeServerSide()
    • encodeClientSide

      private String encodeClientSide()