@Override public void configure(WebSocketServletFactory factory) { factory.setCreator(socketCreator); }
@Override public void configure(WebSocketServletFactory factory) { factory.register(EchoWebSocket.class); } };
@Override public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) { if (req.getSession() != null) { long userId = (Long) req.getSession().getAttribute(SessionResource.USER_ID_KEY); return new AsyncSocket(userId); } else { return null; } } });
@Override public void configure(WebSocketServletFactory factory) { factory.getPolicy().setIdleTimeout(new SystemEnvironment().getWebsocketMaxIdleTime()); factory.setCreator(wac.getBean(AgentRemoteSocketCreator.class)); } }
@Override public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) { try { for (String subprotocol : req.getSubProtocols()) { if ("xmpp".equals(subprotocol)) { resp.setAcceptedSubProtocol(subprotocol); return new XmppWebSocket(); } } } catch (Exception e) { Log.warn(MessageFormat.format("Unable to load websocket factory: {0} ({1})", e.getClass().getName(), e.getMessage())); } Log.warn("Failed to create websocket for {}:{} make a request at {}", req.getRemoteAddress(), req.getRemotePort(), req.getRequestPath() ); return null; } });
@Override public void start() { if (!isRunning()) { this.running = true; try { if (this.factory == null) { this.factory = new WebSocketServerFactory(this.servletContext, this.policy); } this.factory.setCreator((request, response) -> { WebSocketHandlerContainer container = containerHolder.get(); Assert.state(container != null, "Expected WebSocketHandlerContainer"); response.setAcceptedSubProtocol(container.getSelectedProtocol()); response.setExtensions(container.getExtensionConfigs()); return container.getHandler(); }); this.factory.start(); } catch (Throwable ex) { throw new IllegalStateException("Unable to start Jetty WebSocketServerFactory", ex); } } }
@Override public void start() { synchronized (this.lifecycleMonitor) { ServletContext servletContext = this.servletContext; if (!isRunning() && servletContext != null) { this.running = true; try { this.factory = (this.webSocketPolicy != null ? new WebSocketServerFactory(servletContext, this.webSocketPolicy) : new WebSocketServerFactory(servletContext)); this.factory.setCreator((request, response) -> { WebSocketHandlerContainer container = adapterHolder.get(); String protocol = container.getProtocol(); if (protocol != null) { response.setAcceptedSubProtocol(protocol); } return container.getAdapter(); }); this.factory.start(); } catch (Throwable ex) { throw new IllegalStateException("Unable to start WebSocketServerFactory", ex); } } } }
@Override public void init() throws ServletException { this.wac = WebApplicationContextUtils.getWebApplicationContext(getServletContext()); super.init(); }
@Override public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) { return new ConsoleLogSocket(handler, getJobIdentifier(req.getRequestPath()), socketHealthService, consoleLogCharset); }
@Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Username userName = SessionUtils.currentUsername(); String pipeline = pipeline(request); if (authorizedToViewPipeline(userName, pipeline)) { super.service(request, response); return; } response.sendError(SC_FORBIDDEN, String.format("%s is not authorized to view the pipeline %s", userName.getDisplayName(), pipeline)); }
@Override public void destroy() { // terminate any active websocket sessions SessionManager sm = XMPPServer.getInstance().getSessionManager(); for (ClientSession session : sm.getSessions()) { if (session instanceof LocalSession) { Object ws = ((LocalSession) session).getSessionData("ws"); if (ws != null && (Boolean) ws) { Log.debug( "Closing session as websocket servlet is being destroyed: {}", session ); session.close(); } } } super.destroy(); }
@Override public void configure(WebSocketServletFactory factory) { factory.getPolicy().setIdleTimeout(Context.getConfig().getLong("web.timeout", ASYNC_TIMEOUT)); factory.setCreator(new WebSocketCreator() { @Override public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) { if (req.getSession() != null) { long userId = (Long) req.getSession().getAttribute(SessionResource.USER_ID_KEY); return new AsyncSocket(userId); } else { return null; } } }); }
@Override public void configure(WebSocketServletFactory factory) { factory.setCreator(new WebSocketCreator() { @Override public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) { return new WebSocket(env, param); } }); } });
@Override public void configure(WebSocketServletFactory factory) { factory.register(EchoWebSocket.class); } };
@Override public void init() throws ServletException { WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(getServletContext()); socketCreator = wac.getBean(ConsoleLogSocketCreator.class); securityService = wac.getBean(SecurityService.class); super.init(); }
@Override public void configure(WebSocketServletFactory webSocketServletFactory) { webSocketServletFactory.setCreator(this); }
Server server = new Server(8080); WebSocketHandler wsHandler = new WebSocketHandler() { @Override public void configure(WebSocketServletFactory factory) { factory.register(MyEchoSocket.class); } }; server.addHandler(wsHandler); server.start(); server.join();
@Override public void configure(WebSocketServletFactory factory) { factory.setCreator(new WebSocketCreator() { @Override public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) { if (!CollectionUtils.isEmpty(req.getSubProtocols())) { resp.setAcceptedSubProtocol(req.getSubProtocols().get(0)); } JettyWebSocketSession session = new JettyWebSocketSession(null, null); return new JettyWebSocketHandlerAdapter(webSocketHandler, session); } }); } });
Server server = new Server(8080); WebSocketHandler wsHandler = new WebSocketHandler() { @Override public void configure(WebSocketServletFactory factory) { factory.register(MyEchoSocket.class); } }; ContextHandler context = new ContextHandler(); context.setContextPath("/echo"); context.setHandler(wsHandler); server.addHandler(context); server.start(); server.join();
public void configure(WebSocketServletFactory factory) factory.setCreator(new ChatCreator(chatroom));