You need to invoke
io.undertow.websockets.jsr.WebSocketDeploymentInfo#addExtension with
an instance of io.undertow.websockets.extensions.PerMessageDeflateHandshake
Stuart
On Thu, Jun 30, 2016 at 6:16 AM, PingShan Li <ping.li@firemon.com> wrote:
> --- Problem:
> client's request for compression is ignored.
>
> The client sends the request for compression:
>
> Sec-WebSocket-Extensions: permessage-deflate; client_no_context_takeover;
> client_max_window_bits\r\n
>
>
> Webserver receives the client request,
>
>
> org.springframework.web.socket.server.support.AbstractHandshakeHandler.java:
>
> doHandshake function: try to see if requested extension is supported
>
> String subProtocol = selectProtocol(headers.getSecWebSocketProtocol(),
> wsHandler);
> List<WebSocketExtension> requested = headers.getSecWebSocketExtensions();
> List<WebSocketExtension> supported =
> this.requestUpgradeStrategy.getSupportedExtensions(request);
> List<WebSocketExtension> extensions = filterRequestedExtensions(request,
> requested, supported);
>
> getSupportedExtensions calls into the following function, which always
> returns empty set for installed extensions.
>
> io.undertow.websockets.jsr.ServerWebSocketContainer.java:
>
> public Set<Extension> getInstalledExtensions() {
> return Collections.emptySet();
> }
>
> My question is:
> how to tell spring framework that the permessage-deflate extension is
> supported by undertow?
>
> Environement:
> Undertow 1.3.22 Final is used by springframework:
> +-
> org.springframework.boot:spring-boot-starter-undertow:jar:1.3.5.RELEASE:compile
> [INFO] | | +- io.undertow:undertow-core:jar:1.3.22.Final:compile
> [INFO] | | +- io.undertow:undertow-servlet:jar:1.3.22.Final:compile
> [INFO] | | +- io.undertow:undertow-websockets-jsr:jar:1.3.22.Final:compile
>
>
> Thanks
>
>
>
>
>
>
> _______________________________________________
> undertow-dev mailing list
> undertow-dev@lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/undertow-dev