Class ServerCookieEncoder


  • public final class ServerCookieEncoder
    extends CookieEncoder
    A RFC6265 compliant cookie encoder to be used server side, so some fields are sent (Version is typically ignored). As Netty's Cookie merges Expires and MaxAge into one single field, only Max-Age field is sent. Note that multiple cookies must be sent as separate "Set-Cookie" headers.
     // Example
     HttpResponse res = ...;
     res.setHeader("Set-Cookie", ServerCookieEncoder.encode("JSESSIONID", "1234"));
     
    See Also:
    ServerCookieDecoder
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static ServerCookieEncoder LAX
      Lax instance that doesn't validate name and value, and that allows multiple cookies with the same name.
      static ServerCookieEncoder STRICT
      Strict encoder that validates that name and value chars are in the valid scope defined in RFC6265, and (for methods that accept multiple cookies) that only one cookie is encoded with any given name.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String encode​(Cookie cookie)
      Encodes the specified cookie into a Set-Cookie header value.
      java.util.List<java.lang.String> encode​(Cookie... cookies)
      Batch encodes cookies into Set-Cookie header values.
      java.util.List<java.lang.String> encode​(java.lang.Iterable<? extends Cookie> cookies)
      Batch encodes cookies into Set-Cookie header values.
      java.lang.String encode​(java.lang.String name, java.lang.String value)
      Encodes the specified cookie name-value pair into a Set-Cookie header value.
      java.util.List<java.lang.String> encode​(java.util.Collection<? extends Cookie> cookies)
      Batch encodes cookies into Set-Cookie header values.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • STRICT

        public static final ServerCookieEncoder STRICT
        Strict encoder that validates that name and value chars are in the valid scope defined in RFC6265, and (for methods that accept multiple cookies) that only one cookie is encoded with any given name. (If multiple cookies have the same name, the last one is the one that is encoded.)
      • LAX

        public static final ServerCookieEncoder LAX
        Lax instance that doesn't validate name and value, and that allows multiple cookies with the same name.
    • Method Detail

      • encode

        public java.lang.String encode​(java.lang.String name,
                                       java.lang.String value)
        Encodes the specified cookie name-value pair into a Set-Cookie header value.
        Parameters:
        name - the cookie name
        value - the cookie value
        Returns:
        a single Set-Cookie header value
      • encode

        public java.lang.String encode​(Cookie cookie)
        Encodes the specified cookie into a Set-Cookie header value.
        Parameters:
        cookie - the cookie
        Returns:
        a single Set-Cookie header value
      • encode

        public java.util.List<java.lang.String> encode​(Cookie... cookies)
        Batch encodes cookies into Set-Cookie header values.
        Parameters:
        cookies - a bunch of cookies
        Returns:
        the corresponding bunch of Set-Cookie headers
      • encode

        public java.util.List<java.lang.String> encode​(java.util.Collection<? extends Cookie> cookies)
        Batch encodes cookies into Set-Cookie header values.
        Parameters:
        cookies - a bunch of cookies
        Returns:
        the corresponding bunch of Set-Cookie headers
      • encode

        public java.util.List<java.lang.String> encode​(java.lang.Iterable<? extends Cookie> cookies)
        Batch encodes cookies into Set-Cookie header values.
        Parameters:
        cookies - a bunch of cookies
        Returns:
        the corresponding bunch of Set-Cookie headers