@Override public void configure(WebSocketServletFactory factory) { factory.getPolicy().setIdleTimeout(new SystemEnvironment().getWebsocketMaxIdleTime()); factory.setCreator(wac.getBean(AgentRemoteSocketCreator.class)); } }
@Override public void configure(WebSocketServletFactory factory) { factory.register(EchoWebSocket.class); } };
if (wsFactory.isUpgradeRequest(req, resp)) { if (wsFactory.acceptWebSocket(req, resp) || resp.isCommitted()) { return; if (wsFactory.isUpgradeRequest(req, resp)) { proxyWebSocket(req, resp, path); } else {
factory.getExtensionFactory().register("permessage-deflate", PerMessageDeflateExtension.class); factory.getPolicy().setMaxTextMessageBufferSize(messageSize * 5); factory.getPolicy().setMaxTextMessageSize(messageSize); factory.setCreator(new WebSocketCreator() { @Override public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp)
@Override public void configure(WebSocketServletFactory factory) { factory.setCreator(socketCreator); }
@Override public void configure(WebSocketServletFactory factory) { factory.register(MetricWebSocket.class); MetricWebSocketCreator webSocketCreator = SpringWebContextHolder.wac.getBean("MetricWebSocketCreator", MetricWebSocketCreator.class); factory.setCreator(webSocketCreator); } }
WebSocketPolicy wsPolicy = new WebSocketPolicy(WebSocketBehavior.SERVER); wsFactory = WebSocketServletFactory.Loader.load(config.getServletContext(), wsPolicy); wsFactory.setCreator((req, resp) -> { ProxyWsClient proxyClient = (ProxyWsClient) req.getHttpServletRequest().getAttribute("teavm.ws.client"); if (proxyClient == null) { wsFactory.start(); } catch (Exception e) { throw new ServletException(e);
WebSocketUpgradeFilter webSocketUpgradeFilter = WebSocketUpgradeFilter.configureContext(webSocketServletContextHandler); if (webSocketIdleTimeoutMillis.isPresent()) { webSocketUpgradeFilter.getFactory().getPolicy().setIdleTimeout(webSocketIdleTimeoutMillis.get());
private void initWebSocketFactory() throws ServletException { try { this.webSocketServletFactory = new WebSocketServerFactory(); this.webSocketServletFactory.getPolicy().setIdleTimeout( 10000 ); this.webSocketServletFactory.init( getServletContext() ); } catch ( final Exception e ) { throw new ServletException( e ); } }
@Override public void onHandshakeResponse(UpgradeResponse response) { resp.setStatus(response.getStatusCode()); for (String header : response.getHeaderNames()) { switch (header.toLowerCase()) { case "connection": case "date": case "sec-websocket-accept": case "upgrade": continue; } for (String value : response.getHeaders(header)) { resp.addHeader(header, value); } } try { wsFactory.acceptWebSocket(req, resp); } catch (IOException e) { throw new RuntimeException(e); } async.complete(); } });
@Override protected void service( final HttpServletRequest req, final HttpServletResponse res ) throws ServletException, IOException { final boolean isWebSocket = this.webSocketServletFactory.isUpgradeRequest( req, res ); final RequestFactory requestFactory = new RequestFactory(); requestFactory.setRequest( req ); requestFactory.setWebSocket( isWebSocket ); final Request actualRequest = requestFactory.create(); final Response actualResponse = serve( actualRequest ); if ( actualResponse == null ) { return; } if ( !isWebSocket ) { new ResponseSerializer( res ).serialize( actualResponse ); return; } final WebSocketConfig config = actualResponse.getWebSocket(); acceptWebSocket( req, res, config ); }
@Override public void configure(WebSocketServletFactory factory) { factory.setCreator(new WebSocketCreator() { @Override public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) { return new WebSocket(env, param); } }); } });
factory.getExtensionFactory().register("permessage-deflate", PerMessageDeflateExtension.class); factory.getPolicy().setMaxTextMessageBufferSize(messageSize * 5); factory.getPolicy().setMaxTextMessageSize(messageSize); factory.setCreator(new WebSocketCreator() { @Override public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp)
if (max != null) getFactory().getPolicy().setIdleTimeout(Long.parseLong(max)); if (max != null) getFactory().getPolicy().setMaxTextMessageSize(Integer.parseInt(max)); if (max != null) getFactory().getPolicy().setMaxBinaryMessageSize(Integer.parseInt(max)); if (max != null) getFactory().getPolicy().setInputBufferSize(Integer.parseInt(max));
private void acceptWebSocket( final HttpServletRequest req, final HttpServletResponse res, final WebSocketConfig config ) throws IOException { final WebSocketCreator creator = new WebSocketHandler( this.handler, config ); this.webSocketServletFactory.acceptWebSocket( creator, req, res ); }
@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 webSocketServletFactory) { webSocketServletFactory.setCreator(this); }