WebSocketExtensionTestUtil Class — netty Architecture
Architecture documentation for the WebSocketExtensionTestUtil class in WebSocketExtensionTestUtil.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 61f33a31_fccb_9557_ea2c_c280245441f2["WebSocketExtensionTestUtil"] 5b51470a_198a_508a_0a4d_9e2da3839b02["WebSocketExtensionTestUtil.java"] 61f33a31_fccb_9557_ea2c_c280245441f2 -->|defined in| 5b51470a_198a_508a_0a4d_9e2da3839b02 0a5b461a_b205_e30a_ff6d_59edad3a8e8c["HttpRequest()"] 61f33a31_fccb_9557_ea2c_c280245441f2 -->|method| 0a5b461a_b205_e30a_ff6d_59edad3a8e8c f0e53b01_345b_a980_6932_4e2a8e0844d6["HttpResponse()"] 61f33a31_fccb_9557_ea2c_c280245441f2 -->|method| f0e53b01_345b_a980_6932_4e2a8e0844d6 f5503f6d_c9d5_1039_6c0e_9cb8c0b826ad["WebSocketExtensionData()"] 61f33a31_fccb_9557_ea2c_c280245441f2 -->|method| f5503f6d_c9d5_1039_6c0e_9cb8c0b826ad 714c435e_7292_9d07_57ee_3278bcf380ad["WebSocketExtensionTestUtil()"] 61f33a31_fccb_9557_ea2c_c280245441f2 -->|method| 714c435e_7292_9d07_57ee_3278bcf380ad
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketExtensionTestUtil.java lines 36–121
public final class WebSocketExtensionTestUtil {
public static HttpRequest newUpgradeRequest(String ext) {
HttpRequest req = new DefaultHttpRequest(
HttpVersion.HTTP_1_1, HttpMethod.GET, "/chat");
req.headers().set(HttpHeaderNames.HOST, "server.example.com");
req.headers().set(HttpHeaderNames.UPGRADE, HttpHeaderValues.WEBSOCKET.toString().toLowerCase());
req.headers().set(HttpHeaderNames.CONNECTION, "Upgrade");
req.headers().set(HttpHeaderNames.ORIGIN, "http://example.com");
if (ext != null) {
req.headers().set(HttpHeaderNames.SEC_WEBSOCKET_EXTENSIONS, ext);
}
return req;
}
public static HttpResponse newUpgradeResponse(String ext) {
HttpResponse res = new DefaultHttpResponse(
HttpVersion.HTTP_1_1, HttpResponseStatus.SWITCHING_PROTOCOLS);
res.headers().set(HttpHeaderNames.HOST, "server.example.com");
res.headers().set(HttpHeaderNames.UPGRADE, HttpHeaderValues.WEBSOCKET.toString().toLowerCase());
res.headers().set(HttpHeaderNames.CONNECTION, "Upgrade");
res.headers().set(HttpHeaderNames.ORIGIN, "http://example.com");
if (ext != null) {
res.headers().set(HttpHeaderNames.SEC_WEBSOCKET_EXTENSIONS, ext);
}
return res;
}
static final class WebSocketExtensionDataMatcher implements ArgumentMatcher<WebSocketExtensionData> {
private final String name;
WebSocketExtensionDataMatcher(String name) {
this.name = name;
}
@Override
public boolean matches(WebSocketExtensionData data) {
return data != null && name.equals(data.name());
}
}
static WebSocketExtensionData webSocketExtensionDataMatcher(String text) {
return argThat(new WebSocketExtensionDataMatcher(text));
}
private WebSocketExtensionTestUtil() {
// unused
}
static class DummyEncoder extends WebSocketExtensionEncoder {
@Override
protected void encode(ChannelHandlerContext ctx, WebSocketFrame msg,
List<Object> out) throws Exception {
// unused
}
}
static class DummyDecoder extends WebSocketExtensionDecoder {
@Override
protected void decode(ChannelHandlerContext ctx, WebSocketFrame msg,
List<Object> out) throws Exception {
// unused
}
}
static class Dummy2Encoder extends WebSocketExtensionEncoder {
@Override
protected void encode(ChannelHandlerContext ctx, WebSocketFrame msg,
List<Object> out) throws Exception {
// unused
}
}
static class Dummy2Decoder extends WebSocketExtensionDecoder {
@Override
protected void decode(ChannelHandlerContext ctx, WebSocketFrame msg,
Source
Frequently Asked Questions
What is the WebSocketExtensionTestUtil class?
WebSocketExtensionTestUtil is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketExtensionTestUtil.java.
Where is WebSocketExtensionTestUtil defined?
WebSocketExtensionTestUtil is defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketExtensionTestUtil.java at line 36.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free