class WebSocketActuatorEndpoint {

    @ReadOperation
    public List<Map<String, String>> getAll() {
        List<Map<String, String>> result = new ArrayList<>();

        for (Entry<String, WebSocketRoutedSession> entry : webSocketProxyServerHandler.getRoutedSessions().entrySet()) {
            WebSocketRoutedSession currentSession = entry.getValue();

            Map<String, String> map = new LinkedHashMap<>();

            map.put("sessionId", entry.getKey());
            map.put("clientAddress", currentSession.getServerRemoteAddress());
            map.put("gatewayPath", currentSession.getServerUri());

            map.put("serviceUrl", currentSession.getClientUri());
            map.put("serviceSessionId", currentSession.getClientId());

            result.add(map);
        }

        return result;
    }

    @Autowired public  WebSocketActuatorEndpoint(WebSocketProxyServerHandler webSocketProxyServerHandler);

}