@Override public void connect(final Channel channel, final TransportMessage transportMessage) { try { ClientUpgradeRequest request = new ClientUpgradeRequest(); request.setRequestURI(channel.getUri()); String protocol = "org.granite.gravity." + transportMessage.getContentType().substring("application/x-".length()); request.setSubProtocols(protocol); if (transportMessage.getSessionId() != null) webSocketClient.getCookieStore().add(channel.getUri(), new HttpCookie("JSESSIONID", transportMessage.getSessionId())); request.setCookiesFrom(webSocketClient.getCookieStore()); request.setHeader("connectId", transportMessage.getId()); request.setHeader("GDSClientType", transportMessage.getClientType().toString()); String clientId = transportMessage.getClientId() != null ? transportMessage.getClientId() : channel.getClientId(); if (clientId != null) request.setHeader("GDSClientId", clientId); log.info("Connecting to websocket %s protocol %s sessionId %s clientId %s", channel.getUri(), protocol, transportMessage.getSessionId(), clientId); webSocketClient.connect(new WebSocketHandler(channel), channel.getUri(), request); } catch (Exception e) { log.error(e, "Could not connect to uri %s", channel.getUri()); getStatusHandler().handleException(new TransportException("Could not connect to uri " + channel.getUri(), e)); } }
@Override public void connect(final Channel channel, final TransportMessage transportMessage) { try { ClientUpgradeRequest request = new ClientUpgradeRequest(); request.setRequestURI(channel.getUri()); String protocol = "org.granite.gravity." + transportMessage.getContentType().substring("application/x-".length()); request.setSubProtocols(protocol); if (transportMessage.getSessionId() != null) webSocketClient.getCookieStore().add(channel.getUri(), new HttpCookie("JSESSIONID", transportMessage.getSessionId())); request.setCookiesFrom(webSocketClient.getCookieStore()); request.setHeader("connectId", transportMessage.getId()); request.setHeader("GDSClientType", transportMessage.getClientType().toString()); String clientId = transportMessage.getClientId() != null ? transportMessage.getClientId() : channel.getClientId(); if (clientId != null) request.setHeader("GDSClientId", clientId); log.info("Connecting to websocket %s protocol %s sessionId %s clientId %s", channel.getUri(), protocol, transportMessage.getSessionId(), clientId); webSocketClient.connect(new WebSocketHandler(channel), channel.getUri(), request); } catch (Exception e) { log.error(e, "Could not connect to uri %s", channel.getUri()); getStatusHandler().handleException(new TransportException("Could not connect to uri " + channel.getUri(), e)); } }