org.jboss.netty.handler.codec.http

## Class CookieEncoder

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

    public class CookieEncoder
    extends Object

Encodes `Cookie`s 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 `Cookie`s added by the `addCookie(String, String)` method. Once `encode()` is called, all added `Cookie`s are encoded into an HTTP header value and all `Cookie`s 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:
  `CookieDecoder`

### Constructor Summary

Constructors
Constructor and Description
`CookieEncoder(boolean server)` Creates a new encoder.

### Method Summary

Methods
`void` `addCookie(Cookie cookie)` Adds the specified `Cookie` to this encoder.
`void` `addCookie(String name, String value)` Adds a new `Cookie` created with the specified name and value to this encoder.
`String` `encode()` Encodes the `Cookie`s which were added by `addCookie(Cookie)` so far into an HTTP header value.

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

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

### Constructor Detail

#### 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.

### Method Detail

#### 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 `Cookie`s which were added by `addCookie(Cookie)` so far into an HTTP header value. If no `Cookie`s were added, an empty string is returned. Be aware that calling this method will clear the content of the `CookieEncoder`