for (Map.Entry<String, List<String>> e : handshakeRequest.getHeaders().entrySet()) { headers.put(e.getKey(), !e.getValue().isEmpty() ? e.getValue().get(0) : ""); List<String> l = handshakeRequest.getHeaders().get("origin"); if (l == null) { l = handshakeRequest.getHeaders().get("Origin"); List<String> cookieHeaders = handshakeRequest.getHeaders().get("Cookie"); Set<Cookie> cookies = null; if (cookieHeaders != null) {
@Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { Map<String, List<String>> requestHeaders = request.getHeaders(); List<String> cookieHeaders = requestHeaders.get("cookie"); String sessionId = null; if (cookieHeaders != null && cookieHeaders.size() > 0) { for (String cookieHeader : cookieHeaders) { Matcher matcher = cookiePattern.matcher(cookieHeader); while (matcher.find()) { String cookieKey = matcher.group(1); String cookieValue = matcher.group(2); if (cookieKey.equals("CRASHID")) { sessionId = cookieValue; } } } } if (sessionId == null) { sessionId = UUID.randomUUID().toString(); response.getHeaders().put("Set-Cookie", Collections.singletonList("CRASHID=" + sessionId + "; Path=/")); } else { } sec.getUserProperties().put("CRASHID", sessionId); } }
import javax.websocket.HandshakeResponse; import javax.websocket.server.HandshakeRequest; import javax.websocket.server.ServerEndpointConfig; public class MyServerEndpointConfigurator extends ServerEndpointConfig.Configurator { @Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { if (request.getHeaders().containsKey("user-agent")) { sec.getUserProperties().put("user-agent", request.getHeaders().get("user-agent").get(0)); // lower-case! } } }
private static String getHeader(HandshakeRequest request, String key, boolean lower) { List<String> values = request.getHeaders().get(key); if (values != null && values.size() > 0) return values.get(0); if (lower) { values = request.getHeaders().get(key.toLowerCase()); if (values != null && values.size() > 0) return values.get(0); } return null; }
public class MyEndpointConfigurator extends ServerEndpointConfig.Configurator { @Override public void modifyHandshake(ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response) { Map<String,List<String>> headers = request.getHeaders(); config.getUserProperties().put("cookie",headers.get("cookie")); } }
@Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { sec.getUserProperties().put("TheUpgradeOrigin",request.getHeaders().get("Origin")); // Note: this store a List<String> in the key "TheUpgradeOrigin" }
private String getHeaderValue(HandshakeRequest request, String key) { List<String> value = request.getHeaders().get(key); return QuoteUtil.join(value, ","); }
@Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { if (isRaw) { // We have no reliable key (like session id) to save // headers with for raw websocket requests return; } String path = request.getRequestURI().getPath(); Matcher matcher = SESSION_PATTERN.matcher(path); if (matcher.matches()) { String sessionId = matcher.group(1); saveHeaders(sessionId, request.getHeaders()); } } };
@Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { if (isRaw) { // We have no reliable key (like session id) to save // headers with for raw websocket requests return; } String path = request.getRequestURI().getPath(); Matcher matcher = SESSION_PATTERN.matcher(path); if (matcher.matches()) { String sessionId = matcher.group(1); saveHeaders(sessionId, request.getHeaders()); } } };
public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { sec.getUserProperties().put(HANDSHAKE_REQUEST_KEY, request); List<String> protocol = request.getHeaders().get(HandshakeRequest.SEC_WEBSOCKET_PROTOCOL); if (protocol == null) { protocol = Collections.emptyList(); } SubscriptionProtocolFactory subscriptionProtocolFactory = getSubscriptionProtocolFactory(protocol); sec.getUserProperties().put(PROTOCOL_HANDLER_REQUEST_KEY, subscriptionProtocolFactory.createHandler(subscriptionHandlerInput)); if (request.getHeaders().get(HandshakeResponse.SEC_WEBSOCKET_ACCEPT) != null) { response.getHeaders().put(HandshakeResponse.SEC_WEBSOCKET_ACCEPT, allSubscriptionProtocols); } if (!protocol.isEmpty()) { response.getHeaders().put(HandshakeRequest.SEC_WEBSOCKET_PROTOCOL, Collections.singletonList(subscriptionProtocolFactory.getProtocol())); } }
@Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { Map<String, List<String>> requestHeaders = request.getHeaders(); List<String> cookieHeaders = requestHeaders.get("cookie"); String sessionId = null; if (cookieHeaders != null && cookieHeaders.size() > 0) { for (String cookieHeader : cookieHeaders) { Matcher matcher = cookiePattern.matcher(cookieHeader); while (matcher.find()) { String cookieKey = matcher.group(1); String cookieValue = matcher.group(2); if (cookieKey.equals("CRASHID")) { sessionId = cookieValue; } } } } if (sessionId == null) { sessionId = UUID.randomUUID().toString(); response.getHeaders().put("Set-Cookie", Collections.singletonList("CRASHID=" + sessionId + "; Path=/")); } else { } sec.getUserProperties().put("CRASHID", sessionId); } }
public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { sec.getUserProperties().put(HANDSHAKE_REQUEST_KEY, request); List<String> protocol = request.getHeaders().get(HandshakeRequest.SEC_WEBSOCKET_PROTOCOL); if (protocol == null) { protocol = Collections.emptyList(); } SubscriptionProtocolFactory subscriptionProtocolFactory = getSubscriptionProtocolFactory(protocol); sec.getUserProperties().put(PROTOCOL_HANDLER_REQUEST_KEY, subscriptionProtocolFactory.createHandler()); if (request.getHeaders().get(HandshakeResponse.SEC_WEBSOCKET_ACCEPT) != null) { response.getHeaders().put(HandshakeResponse.SEC_WEBSOCKET_ACCEPT, allSubscriptionProtocols); } if (!protocol.isEmpty()) { response.getHeaders().put(HandshakeRequest.SEC_WEBSOCKET_PROTOCOL, Collections.singletonList(subscriptionProtocolFactory.getProtocol())); } }
private WebSocketContext(ServletContext context, HandshakeRequest request, Map<String, Object> userProperties) { super(context, request.getRequestURI().toString(), request.getQueryString(), request.getHeaders(), request.getParameterMap(), request.getUserPrincipal(), (HttpSession)request.getHttpSession(), // Hopefully these will become a standard, for now they are Jetty specific. (InetSocketAddress)userProperties.get("javax.websocket.endpoint.localAddress"), (InetSocketAddress)userProperties.get("javax.websocket.endpoint.remoteAddress"), WebSocketTransport.retrieveLocales(userProperties), "HTTP/1.1", WebSocketTransport.isSecure(request)); } }
@Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { super.modifyHandshake(sec, request, response); sec.getUserProperties().put(WebsocketSecurityInterceptor.SESSION_PRINCIPAL, request.getUserPrincipal()); sec.getUserProperties().put(WebsocketSecurityInterceptor.SESSION_SUBJECT, SecurityContextAssociation.getSubject()); sec.getUserProperties().put(WebsocketSecurityInterceptor.SESSION_CREDENTIAL, SecurityContextAssociation.getPrincipal()); Map<String,List<String>> headers = request.getHeaders(); if (headers != null) { List<String> loginHeader = headers.get(REQUEST_LOGIN_TIME_HEADER); if (loginHeader != null && !loginHeader.isEmpty()) { sec.getUserProperties().put(REQUEST_LOGIN_TIME_HEADER, loginHeader.get(0)); } } } }
Map<String, List<String>> headers = request.getHeaders(); LOG.trace("headers: {}", headers); if (headers != null)
config.getUserProperties().put(HttpSession.class.getName(), theSession); String ID = request.getHeaders().get("x-forwarded-for").get(0);
Map<String, List<String>> headers = request.getHeaders(); LOG.trace("headers: {}", headers); if (headers != null)