Cookie() — netty Function Reference
Architecture documentation for the Cookie() function in ClientCookieDecoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD c93972ed_7edc_39c6_c802_7e2823875549["Cookie()"] 5cceca96_9ac8_6942_9ebd_814142e85ca4["ClientCookieDecoder"] c93972ed_7edc_39c6_c802_7e2823875549 -->|defined in| 5cceca96_9ac8_6942_9ebd_814142e85ca4 55d2cd63_4655_a8ee_58d0_4380da9e0f03["CookieBuilder()"] c93972ed_7edc_39c6_c802_7e2823875549 -->|calls| 55d2cd63_4655_a8ee_58d0_4380da9e0f03 d60cac5a_e112_2a4d_8085_70466b0f5c5d["appendAttribute()"] c93972ed_7edc_39c6_c802_7e2823875549 -->|calls| d60cac5a_e112_2a4d_8085_70466b0f5c5d style c93972ed_7edc_39c6_c802_7e2823875549 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/http/cookie/ClientCookieDecoder.java lines 55–145
public Cookie decode(String header) {
final int headerLen = checkNotNull(header, "header").length();
if (headerLen == 0) {
return null;
}
CookieBuilder cookieBuilder = null;
loop: for (int i = 0;;) {
// Skip spaces and separators.
for (;;) {
if (i == headerLen) {
break loop;
}
char c = header.charAt(i);
if (c == ',') {
// Having multiple cookies in a single Set-Cookie header is
// deprecated, modern browsers only parse the first one
break loop;
} else if (c == '\t' || c == '\n' || c == 0x0b || c == '\f'
|| c == '\r' || c == ' ' || c == ';') {
i++;
continue;
}
break;
}
int nameBegin = i;
int nameEnd;
int valueBegin;
int valueEnd;
for (;;) {
char curChar = header.charAt(i);
if (curChar == ';') {
// NAME; (no value till ';')
nameEnd = i;
valueBegin = valueEnd = -1;
break;
} else if (curChar == '=') {
// NAME=VALUE
nameEnd = i;
i++;
if (i == headerLen) {
// NAME= (empty value, i.e. nothing after '=')
valueBegin = valueEnd = 0;
break;
}
valueBegin = i;
// NAME=VALUE;
int semiPos = header.indexOf(';', i);
valueEnd = i = semiPos > 0 ? semiPos : headerLen;
break;
} else {
i++;
}
if (i == headerLen) {
// NAME (no value till the end of string)
nameEnd = headerLen;
valueBegin = valueEnd = -1;
break;
}
}
if (valueEnd > 0 && header.charAt(valueEnd - 1) == ',') {
// old multiple cookies separator, skipping it
valueEnd--;
}
if (cookieBuilder == null) {
// cookie name-value pair
DefaultCookie cookie = initCookie(header, nameBegin, nameEnd, valueBegin, valueEnd);
if (cookie == null) {
return null;
Domain
Subdomains
Source
Frequently Asked Questions
What does Cookie() do?
Cookie() is a function in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/cookie/ClientCookieDecoder.java.
Where is Cookie() defined?
Cookie() is defined in codec-http/src/main/java/io/netty/handler/codec/http/cookie/ClientCookieDecoder.java at line 55.
What does Cookie() call?
Cookie() calls 2 function(s): CookieBuilder, appendAttribute.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free