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)

Reply via email to