toHttp2Headers() — netty Function Reference
Architecture documentation for the toHttp2Headers() function in HttpConversionUtil.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 6d71d73b_826f_80a2_d574_05df829c5c40["toHttp2Headers()"] 0560b510_c1dc_0a46_6dca_e5dbfb67d807["HttpConversionUtil"] 6d71d73b_826f_80a2_d574_05df829c5c40 -->|defined in| 0560b510_c1dc_0a46_6dca_e5dbfb67d807 e4140185_26f8_5319_cffa_a46eb5356b83["Http2Headers()"] e4140185_26f8_5319_cffa_a46eb5356b83 -->|calls| 6d71d73b_826f_80a2_d574_05df829c5c40 9ef85cd2_4d7c_e875_6493_f1c7033de54a["toLowercaseMap()"] 6d71d73b_826f_80a2_d574_05df829c5c40 -->|calls| 9ef85cd2_4d7c_e875_6493_f1c7033de54a d788f36c_550b_912c_a38b_bccd9f57ab18["toHttp2HeadersFilterTE()"] 6d71d73b_826f_80a2_d574_05df829c5c40 -->|calls| d788f36c_550b_912c_a38b_bccd9f57ab18 6dc1e856_6655_f72d_37e8_0d71045d347f["splitValidCookieHeader()"] 6d71d73b_826f_80a2_d574_05df829c5c40 -->|calls| 6dc1e856_6655_f72d_37e8_0d71045d347f style 6d71d73b_826f_80a2_d574_05df829c5c40 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http2/src/main/java/io/netty/handler/codec/http2/HttpConversionUtil.java lines 521–564
public static void toHttp2Headers(HttpHeaders inHeaders, Http2Headers out) {
Iterator<Entry<CharSequence, CharSequence>> iter = inHeaders.iteratorCharSequence();
// Choose 8 as a default size because it is unlikely we will see more than 4 Connection headers values, but
// still allowing for "enough" space in the map to reduce the chance of hash code collision.
CharSequenceMap<AsciiString> connectionBlacklist =
toLowercaseMap(inHeaders.valueCharSequenceIterator(CONNECTION), 8);
while (iter.hasNext()) {
Entry<CharSequence, CharSequence> entry = iter.next();
final AsciiString aName = AsciiString.of(entry.getKey()).toLowerCase();
if (!HTTP_TO_HTTP2_HEADER_BLACKLIST.contains(aName) && !connectionBlacklist.contains(aName)) {
// https://tools.ietf.org/html/rfc7540#section-8.1.2.2 makes a special exception for TE
if (aName.contentEqualsIgnoreCase(TE)) {
toHttp2HeadersFilterTE(entry, out);
} else if (aName.contentEqualsIgnoreCase(COOKIE)) {
CharSequence valueCs = entry.getValue();
// validate
boolean invalid = false;
for (int i = 0; i < valueCs.length(); i++) {
char c = valueCs.charAt(i);
if (c == ';') {
if (i + 1 >= valueCs.length() || valueCs.charAt(i + 1) != ' ') {
// semicolon not followed by space. invalid, don't split
invalid = true;
break;
}
i++; // skip space
} else if (c > 255) {
// not ascii, don't split
invalid = true;
break;
}
}
if (invalid) {
out.add(COOKIE, valueCs);
} else {
splitValidCookieHeader(out, valueCs);
}
} else {
out.add(aName, entry.getValue());
}
}
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does toHttp2Headers() do?
toHttp2Headers() is a function in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/HttpConversionUtil.java.
Where is toHttp2Headers() defined?
toHttp2Headers() is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/HttpConversionUtil.java at line 521.
What does toHttp2Headers() call?
toHttp2Headers() calls 3 function(s): splitValidCookieHeader, toHttp2HeadersFilterTE, toLowercaseMap.
What calls toHttp2Headers()?
toHttp2Headers() is called by 1 function(s): Http2Headers.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free