ServerCookieEncoder Class — netty Architecture
Architecture documentation for the ServerCookieEncoder class in ServerCookieEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 777f44fa_8615_2d3d_259b_3c21462736d3["ServerCookieEncoder"] 56e3d980_bd6a_5139_f1e9_c86914fa27a0["ServerCookieEncoder.java"] 777f44fa_8615_2d3d_259b_3c21462736d3 -->|defined in| 56e3d980_bd6a_5139_f1e9_c86914fa27a0 c118517a_6d96_6743_a912_d9403822ecfd["ServerCookieEncoder()"] 777f44fa_8615_2d3d_259b_3c21462736d3 -->|method| c118517a_6d96_6743_a912_d9403822ecfd d66f4c50_3c66_08d3_8a3f_373f5b1091c6["String()"] 777f44fa_8615_2d3d_259b_3c21462736d3 -->|method| d66f4c50_3c66_08d3_8a3f_373f5b1091c6 30cc30c8_0e92_145c_66cc_1c3bfee9e258["dedup()"] 777f44fa_8615_2d3d_259b_3c21462736d3 -->|method| 30cc30c8_0e92_145c_66cc_1c3bfee9e258 804d6d90_280a_5fb6_57a6_d8095c768928["encode()"] 777f44fa_8615_2d3d_259b_3c21462736d3 -->|method| 804d6d90_280a_5fb6_57a6_d8095c768928
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/http/cookie/ServerCookieEncoder.java lines 53–235
public final class ServerCookieEncoder extends CookieEncoder {
/**
* 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.)
*/
public static final ServerCookieEncoder STRICT = new ServerCookieEncoder(true);
/**
* Lax instance that doesn't validate name and value, and that allows multiple
* cookies with the same name.
*/
public static final ServerCookieEncoder LAX = new ServerCookieEncoder(false);
private ServerCookieEncoder(boolean strict) {
super(strict);
}
/**
* Encodes the specified cookie name-value pair into a Set-Cookie header value.
*
* @param name the cookie name
* @param value the cookie value
* @return a single Set-Cookie header value
*/
public String encode(String name, String value) {
return encode(new DefaultCookie(name, value));
}
/**
* Encodes the specified cookie into a Set-Cookie header value.
*
* @param cookie the cookie
* @return a single Set-Cookie header value
*/
public String encode(Cookie cookie) {
final String name = checkNotNull(cookie, "cookie").name();
final String value = cookie.value() != null ? cookie.value() : "";
validateCookie(name, value);
StringBuilder buf = stringBuilder();
if (cookie.wrap()) {
addQuoted(buf, name, value);
} else {
add(buf, name, value);
}
if (cookie.maxAge() != Long.MIN_VALUE) {
add(buf, CookieHeaderNames.MAX_AGE, cookie.maxAge());
Date expires = new Date(cookie.maxAge() * 1000 + System.currentTimeMillis());
buf.append(CookieHeaderNames.EXPIRES);
buf.append('=');
DateFormatter.append(expires, buf);
buf.append(';');
buf.append(HttpConstants.SP_CHAR);
}
if (cookie.path() != null) {
add(buf, CookieHeaderNames.PATH, cookie.path());
}
if (cookie.domain() != null) {
add(buf, CookieHeaderNames.DOMAIN, cookie.domain());
}
if (cookie.isSecure()) {
add(buf, CookieHeaderNames.SECURE);
}
if (cookie.isHttpOnly()) {
add(buf, CookieHeaderNames.HTTPONLY);
}
if (cookie instanceof DefaultCookie) {
DefaultCookie c = (DefaultCookie) cookie;
if (c.sameSite() != null) {
add(buf, CookieHeaderNames.SAMESITE, c.sameSite().name());
}
if (c.isPartitioned()) {
add(buf, CookieHeaderNames.PARTITIONED);
Source
Frequently Asked Questions
What is the ServerCookieEncoder class?
ServerCookieEncoder is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/cookie/ServerCookieEncoder.java.
Where is ServerCookieEncoder defined?
ServerCookieEncoder is defined in codec-http/src/main/java/io/netty/handler/codec/http/cookie/ServerCookieEncoder.java at line 53.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free