Home / Function/ onHttpRequestChannelRead() — netty Function Reference

onHttpRequestChannelRead() — netty Function Reference

Architecture documentation for the onHttpRequestChannelRead() function in WebSocketServerExtensionHandler.java from the netty codebase.

Function java ProtocolCodecs HTTP calls 1 called by 1

Entity Profile

Dependency Diagram

graph TD
  ab797153_cccc_b452_0bd5_51510aadbadf["onHttpRequestChannelRead()"]
  6784d673_612f_ff75_025d_f5a9bf196079["WebSocketServerExtensionHandler"]
  ab797153_cccc_b452_0bd5_51510aadbadf -->|defined in| 6784d673_612f_ff75_025d_f5a9bf196079
  d87ca89c_b75d_4af9_10fe_7c79100ed770["channelRead()"]
  d87ca89c_b75d_4af9_10fe_7c79100ed770 -->|calls| ab797153_cccc_b452_0bd5_51510aadbadf
  d87ca89c_b75d_4af9_10fe_7c79100ed770["channelRead()"]
  ab797153_cccc_b452_0bd5_51510aadbadf -->|calls| d87ca89c_b75d_4af9_10fe_7c79100ed770
  style ab797153_cccc_b452_0bd5_51510aadbadf fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketServerExtensionHandler.java lines 118–156

    protected void onHttpRequestChannelRead(ChannelHandlerContext ctx, HttpRequest request) throws Exception {
        List<WebSocketServerExtension> validExtensionsList = null;

        if (WebSocketExtensionUtil.isWebsocketUpgrade(request.headers())) {
            String extensionsHeader = request.headers().getAsString(HttpHeaderNames.SEC_WEBSOCKET_EXTENSIONS);

            if (extensionsHeader != null) {
                List<WebSocketExtensionData> extensions =
                        WebSocketExtensionUtil.extractExtensions(extensionsHeader);
                int rsv = 0;

                for (WebSocketExtensionData extensionData : extensions) {
                    Iterator<WebSocketServerExtensionHandshaker> extensionHandshakersIterator =
                            extensionHandshakers.iterator();
                    WebSocketServerExtension validExtension = null;

                    while (validExtension == null && extensionHandshakersIterator.hasNext()) {
                        WebSocketServerExtensionHandshaker extensionHandshaker =
                                extensionHandshakersIterator.next();
                        validExtension = extensionHandshaker.handshakeExtension(extensionData);
                    }

                    if (validExtension != null && ((validExtension.rsv() & rsv) == 0)) {
                        if (validExtensionsList == null) {
                            validExtensionsList = new ArrayList<WebSocketServerExtension>(1);
                        }
                        rsv = rsv | validExtension.rsv();
                        validExtensionsList.add(validExtension);
                    }
                }
            }
        }

        if (validExtensionsList == null) {
            validExtensionsList = Collections.emptyList();
        }
        validExtensions.offer(validExtensionsList);
        super.channelRead(ctx, request);
    }

Subdomains

Called By

Frequently Asked Questions

What does onHttpRequestChannelRead() do?
onHttpRequestChannelRead() is a function in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketServerExtensionHandler.java.
Where is onHttpRequestChannelRead() defined?
onHttpRequestChannelRead() is defined in codec-http/src/main/java/io/netty/handler/codec/http/websocketx/extensions/WebSocketServerExtensionHandler.java at line 118.
What does onHttpRequestChannelRead() call?
onHttpRequestChannelRead() calls 1 function(s): channelRead.
What calls onHttpRequestChannelRead()?
onHttpRequestChannelRead() is called by 1 function(s): channelRead.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free