You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Christian Kemper (JIRA)" <ji...@apache.org> on 2015/06/26 07:24:04 UTC

[jira] [Commented] (AMQ-5865) Enable "getRemoteAddress()" method in WebSocket Requests

    [ https://issues.apache.org/jira/browse/AMQ-5865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14602418#comment-14602418 ] 

Christian Kemper commented on AMQ-5865:
---------------------------------------

Attached sample files for my fix (STOMP over wss).
Should be easy to change the real implementation with this samples ;-)

> 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.0, 5.11.1
>         Environment: all
>            Reporter: Christian Kemper
>            Priority: Trivial
>              Labels: easyfix, easytest, features, javascript, patch
>             Fix For: 5.11.2, 5.12.0, 6.0.0
>
>         Attachments: CustomStompSocket.java, CustomWebSocketServlet.java
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> 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)