Christian Kemper created AMQ-5865:
-------------------------------------
Summary: Enable "getRemoteAddress()" method in WebSocket Requests
Key: AMQ-5865
URL: https://issues.apache.org/jira/browse/AMQ-5865
Project: ActiveMQ
Issue Type: Bug
Components: MQTT, stomp
Affects Versions: 5.11.1, 5.11.0
Environment: all
Reporter: Christian Kemper
Priority: Trivial
Fix For: 5.11.2, 5.12.0, 6.0.0
The method (getRemoteAddress()) in class
"org.apache.activemq.transport.ws.AbstractStompSocket" does not return the
correct address; it returns always ""StompSocket_" + hashCode();"
We need the correct address (e.g. "wss://127.0.0.1:63114") for our use case.
The implementation whould be very simple.
In class "org.apache.activemq.transport.ws.jetty8.WSServlet" (and also in
jetty9 package) pass the address during creation of class StompSocket in the
same package:
String scheme = request.getScheme();
if ("http".equalsIgnoreCase(scheme)) {
scheme = "ws";
} else if ("https".equalsIgnoreCase(scheme)) {
scheme = "wss";
}
WebSocket socket = new CustomStompSocket(scheme + "://" +
request.getRemoteAddr() + ":" + request.getRemotePort());
It meight be that MQTT is also affected; a fix should be done by the same way.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)