@Override public List<WebSocketExtension> getSupportedExtensions(ServerHttpRequest request) { List<WebSocketExtension> extensions = this.extensions; if (extensions == null) { HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest(); extensions = getInstalledExtensions(getContainer(servletRequest)); this.extensions = extensions; } return extensions; }
@Override public ServerWebSocketContainer getContainer(HttpServletRequest request) { return (ServerWebSocketContainer) super.getContainer(request); }
@Override protected List<WebSocketExtension> getInstalledExtensions(WebSocketContainer container) { try { return super.getInstalledExtensions(container); } catch (UnsupportedOperationException ex) { return new ArrayList<>(0); } }
@Override public void upgrade(ServerHttpRequest request, ServerHttpResponse response, @Nullable String selectedProtocol, List<WebSocketExtension> selectedExtensions, @Nullable Principal user, WebSocketHandler wsHandler, Map<String, Object> attrs) throws HandshakeFailureException { HttpHeaders headers = request.getHeaders(); InetSocketAddress localAddr = null; try { localAddr = request.getLocalAddress(); } catch (Exception ex) { // Ignore } InetSocketAddress remoteAddr = null; try { remoteAddr = request.getRemoteAddress(); } catch (Exception ex) { // Ignore } StandardWebSocketSession session = new StandardWebSocketSession(headers, attrs, localAddr, remoteAddr, user); StandardWebSocketHandlerAdapter endpoint = new StandardWebSocketHandlerAdapter(wsHandler, session); List<Extension> extensions = new ArrayList<>(); for (WebSocketExtension extension : selectedExtensions) { extensions.add(new WebSocketToStandardExtensionAdapter(extension)); } upgradeInternal(request, response, selectedProtocol, extensions, endpoint); }
@Override public WsServerContainer getContainer(HttpServletRequest request) { return (WsServerContainer) super.getContainer(request); }
@Override protected List<WebSocketExtension> getInstalledExtensions(WebSocketContainer container) { try { return super.getInstalledExtensions(container); } catch (UnsupportedOperationException ex) { return new ArrayList<>(0); } }
@Override public void upgrade(ServerHttpRequest request, ServerHttpResponse response, @Nullable String selectedProtocol, List<WebSocketExtension> selectedExtensions, @Nullable Principal user, WebSocketHandler wsHandler, Map<String, Object> attrs) throws HandshakeFailureException { HttpHeaders headers = request.getHeaders(); InetSocketAddress localAddr = null; try { localAddr = request.getLocalAddress(); } catch (Exception ex) { // Ignore } InetSocketAddress remoteAddr = null; try { remoteAddr = request.getRemoteAddress(); } catch (Exception ex) { // Ignore } StandardWebSocketSession session = new StandardWebSocketSession(headers, attrs, localAddr, remoteAddr, user); StandardWebSocketHandlerAdapter endpoint = new StandardWebSocketHandlerAdapter(wsHandler, session); List<Extension> extensions = new ArrayList<>(); for (WebSocketExtension extension : selectedExtensions) { extensions.add(new WebSocketToStandardExtensionAdapter(extension)); } upgradeInternal(request, response, selectedProtocol, extensions, endpoint); }
@Override public List<WebSocketExtension> getSupportedExtensions(ServerHttpRequest request) { List<WebSocketExtension> extensions = this.extensions; if (extensions == null) { HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest(); extensions = getInstalledExtensions(getContainer(servletRequest)); this.extensions = extensions; } return extensions; }
@Override public ServerWebSocketContainer getContainer(HttpServletRequest request) { return (ServerWebSocketContainer) super.getContainer(request); }
@Override protected List<WebSocketExtension> getInstalledExtensions(WebSocketContainer container) { try { return super.getInstalledExtensions(container); } catch (UnsupportedOperationException ex) { return new ArrayList<>(0); } }
@Override public void upgrade(ServerHttpRequest request, ServerHttpResponse response, @Nullable String selectedProtocol, List<WebSocketExtension> selectedExtensions, @Nullable Principal user, WebSocketHandler wsHandler, Map<String, Object> attrs) throws HandshakeFailureException { HttpHeaders headers = request.getHeaders(); InetSocketAddress localAddr = null; try { localAddr = request.getLocalAddress(); } catch (Exception ex) { // Ignore } InetSocketAddress remoteAddr = null; try { remoteAddr = request.getRemoteAddress(); } catch (Exception ex) { // Ignore } StandardWebSocketSession session = new StandardWebSocketSession(headers, attrs, localAddr, remoteAddr, user); StandardWebSocketHandlerAdapter endpoint = new StandardWebSocketHandlerAdapter(wsHandler, session); List<Extension> extensions = new ArrayList<>(); for (WebSocketExtension extension : selectedExtensions) { extensions.add(new WebSocketToStandardExtensionAdapter(extension)); } upgradeInternal(request, response, selectedProtocol, extensions, endpoint); }
@Override public List<WebSocketExtension> getSupportedExtensions(ServerHttpRequest request) { List<WebSocketExtension> extensions = this.extensions; if (extensions == null) { HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest(); extensions = getInstalledExtensions(getContainer(servletRequest)); this.extensions = extensions; } return extensions; }
@Override public ServerWebSocketContainer getContainer(HttpServletRequest request) { return (ServerWebSocketContainer) super.getContainer(request); }
@Override public WsServerContainer getContainer(HttpServletRequest request) { return (WsServerContainer) super.getContainer(request); }
@Override public WsServerContainer getContainer(HttpServletRequest request) { return (WsServerContainer) super.getContainer(request); }