<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<p></p>
<div>---&nbsp;Problem:&nbsp;</div>
<div>client's request for compression is ignored.&nbsp;</div>
<div><br>
</div>
<div><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">The client sends the request for compression:</span>
<p style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"></p>
<p style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">Sec-WebSocket-Extensions: permessage-deflate; client_no_context_takeover; client_max_window_bits\r\n<br>
</p>
<div><br>
</div>
<p style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">Webserver receives the client request,&nbsp;</p>
<p style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"><br>
</p>
<p style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">org.springframework.web.socket.server.support.AbstractHandshakeHandler.java:<br>
</p>
<p style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">doHandshake function: try to see if requested extension is supported<br>
</p>
<p style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"></p>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">
<span class="Apple-tab-span" style="white-space: pre;"></span>String subProtocol = selectProtocol(headers.getSecWebSocketProtocol(), wsHandler);</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">
<span class="Apple-tab-span" style="white-space: pre;"></span>List&lt;WebSocketExtension&gt; requested = headers.getSecWebSocketExtensions();</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">
<span class="Apple-tab-span" style="white-space: pre;"></span>List&lt;WebSocketExtension&gt; supported = this.requestUpgradeStrategy.getSupportedExtensions(request);</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">
<span class="Apple-tab-span" style="white-space: pre;"></span>List&lt;WebSocketExtension&gt; extensions = filterRequestedExtensions(request, requested, supported);</div>
<div><br>
</div>
<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">getSupportedExtensions calls into the following function, which always returns empty set for installed extensions.</span><br>
</div>
<div>
<p style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">io.undertow.websockets.jsr.ServerWebSocketContainer.java:<br>
</p>
<p style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;"></p>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">
&nbsp; &nbsp; public Set&lt;Extension&gt; getInstalledExtensions() {</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">
&nbsp; &nbsp; &nbsp; &nbsp; return Collections.emptySet();</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">
&nbsp; &nbsp; }</div>
<div><br>
</div>
My question is:</div>
<div>how to tell spring&nbsp;framework that the&nbsp;<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px;">permessage-deflate extension is supported by undertow?</span></div>
<div><br>
</div>
<div>Environement:</div>
<div>Undertow 1.3.22 Final is&nbsp;used by springframework:</div>
<div>&#43;- org.springframework.boot:spring-boot-starter-undertow:jar:1.3.5.RELEASE:compile</div>
<div>[INFO] | &nbsp;| &nbsp;&#43;- io.undertow:undertow-core:jar:1.3.22.Final:compile</div>
<div>[INFO] | &nbsp;| &nbsp;&#43;- io.undertow:undertow-servlet:jar:1.3.22.Final:compile</div>
<div>[INFO] | &nbsp;| &nbsp;&#43;- io.undertow:undertow-websockets-jsr:jar:1.3.22.Final:compile</div>
<div><br>
</div>
<p><span><span><br>
</span></span></p>
<p>Thanks</p>
<p><br>
</p>
<p><br>
</p>
<p></p>
<p><span><span><br>
</span></span></p>
<p><br>
</p>
<p></p>
</div>
</body>
</html>