PseudoHeaderName Type — netty Architecture
Architecture documentation for the PseudoHeaderName type/interface in Http2Headers.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 67e3e6ff_2df8_6bf7_bdc5_3755a544ca6d["PseudoHeaderName"] 80148822_8071_e29c_21f0_75ca42907a7f["Http2Headers.java"] 67e3e6ff_2df8_6bf7_bdc5_3755a544ca6d -->|defined in| 80148822_8071_e29c_21f0_75ca42907a7f style 67e3e6ff_2df8_6bf7_bdc5_3755a544ca6d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http2/src/main/java/io/netty/handler/codec/http2/Http2Headers.java lines 33–213
enum PseudoHeaderName {
/**
* {@code :method}.
*/
METHOD(":method", true),
/**
* {@code :scheme}.
*/
SCHEME(":scheme", true),
/**
* {@code :authority}.
*/
AUTHORITY(":authority", true),
/**
* {@code :path}.
*/
PATH(":path", true),
/**
* {@code :status}.
*/
STATUS(":status", false),
/**
* {@code :protocol}, as defined in <a href="https://datatracker.ietf.org/doc/rfc8441/">RFC 8441,
* Bootstrapping WebSockets with HTTP/2</a>.
*/
PROTOCOL(":protocol", true);
private static final char PSEUDO_HEADER_PREFIX = ':';
private static final byte PSEUDO_HEADER_PREFIX_BYTE = (byte) PSEUDO_HEADER_PREFIX;
private final AsciiString value;
private final boolean requestOnly;
PseudoHeaderName(String value, boolean requestOnly) {
this.value = AsciiString.cached(value);
this.requestOnly = requestOnly;
}
public AsciiString value() {
// Return a slice so that the buffer gets its own reader index.
return value;
}
/**
* Indicates whether the specified header follows the pseudo-header format (begins with ':' character)
*
* @return {@code true} if the header follow the pseudo-header format
*/
public static boolean hasPseudoHeaderFormat(CharSequence headerName) {
if (headerName instanceof AsciiString) {
final AsciiString asciiHeaderName = (AsciiString) headerName;
return asciiHeaderName.length() > 0 && asciiHeaderName.byteAt(0) == PSEUDO_HEADER_PREFIX_BYTE;
} else {
return headerName.length() > 0 && headerName.charAt(0) == PSEUDO_HEADER_PREFIX;
}
}
/**
* Indicates whether the given header name is a valid HTTP/2 pseudo header.
*/
public static boolean isPseudoHeader(CharSequence header) {
return getPseudoHeader(header) != null;
}
/**
* Indicates whether the given header name is a valid HTTP/2 pseudo header.
*/
public static boolean isPseudoHeader(AsciiString header) {
return getPseudoHeader(header) != null;
}
/**
* Indicates whether the given header name is a valid HTTP/2 pseudo header.
*/
public static boolean isPseudoHeader(String header) {
return getPseudoHeader(header) != null;
Source
Frequently Asked Questions
What is the PseudoHeaderName type?
PseudoHeaderName is a type/interface in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2Headers.java.
Where is PseudoHeaderName defined?
PseudoHeaderName is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2Headers.java at line 33.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free