Repository: quarkusio/quarkus
Issue: maxFramePayloadLength seems to be hardcoded when using WebSocketClient

## Describe the bug
We are occasionally hitting an exception (shown below) caused due to the payload in a websocket frame being larger than 1280000 bytes while trying to read log messages from a websocket.
Had tried the instructions on setting max-frame-size described in https://github.com/quarkusio/quarkus/issues/7172 without much luck.

Looks like io.undertow.websockets.jsr.WebsocketConnectionBuilder has this value hardcoded as 1280000.

2021-05-13 18:41:24,350 WARN  [io.net.cha.DefaultChannelPipeline] (nioEventLoopGroup-2-3) An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.: io.netty.handler.codec.http.websocketx.CorruptedWebSocketFrameException: Max frame length of 1280000 has been exceeded.
        at io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation(WebSocket08FrameDecoder.java:426)
        at io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.decode(WebSocket08FrameDecoder.java:286)
        at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:501)
        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:440)
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:834)


### Expected behavior
The maxFramePayloadLength setting should ideally be configurable. Any workaround would be much appreciated.

### Actual behavior
This setting/value is hardcoded


## To Reproduce
A client connecting to a websocket that sends frames with payload larger than 1280000 bytes

Steps to reproduce the behavior:
A client connecting to a websocket that sends frames with payload larger than 1280000 bytes

### Configuration
```properties
No Specific properties required to reproduce this issue
```

### Screenshots

## Environment (please complete the following information):

### Output of `uname -a` or `ver`

### Output of `java -version`

### GraalVM version (if different from Java)

### Quarkus version or git rev

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

## Additional context
(Add any other context about the problem here.)


Changed files:
extensions/websockets/runtime/src/main/java/io/quarkus/undertow/websockets/runtime/WebsocketRecorder.java

diff --git a/extensions/websockets/runtime/src/main/java/io/quarkus/undertow/websockets/runtime/WebsocketRecorder.java b/extensions/websockets/runtime/src/main/java/io/quarkus/undertow/websockets/runtime/WebsocketRecorder.java
index f0f16c3f1e4..65085d860b3 100644
--- a/extensions/websockets/runtime/src/main/java/io/quarkus/undertow/websockets/runtime/WebsocketRecorder.java
+++ b/extensions/websockets/runtime/src/main/java/io/quarkus/undertow/websockets/runtime/WebsocketRecorder.java
@@ -159,13 +159,18 @@ public T call(C context) throws Exception {
                             }
                         };
                     }
-                }), false,
+                }),
+                false,
+                null,
+                null,
                 new Supplier<Executor>() {
                     @Override
                     public Executor get() {
                         return ExecutorRecorder.getCurrent();
                     }
-                });
+                },
+                Collections.emptyList(),
+                info.getMaxFrameSize());
         for (Class<?> i : info.getAnnotatedEndpoints()) {
             container.addEndpoint(i);
         }