wsFactory = WebSocketServletFactory.Loader.load(config.getServletContext(), wsPolicy); wsFactory.setCreator((req, resp) -> { ProxyWsClient proxyClient = (ProxyWsClient) req.getHttpServletRequest().getAttribute("teavm.ws.client"); if (proxyClient == null) { return new CodeWsEndpoint(this);
webSocketServerFactory.setCreator((req, rsp) -> { JettyWebSocket ws = new JettyWebSocket(); req.getHttpServletRequest().setAttribute(JettyWebSocket.class.getName(), ws); return ws; });
/** * Constructor. * * @param upgradeRequest * the jetty upgrade request * @param upgradeResponse * the jetty upgrade response * @param application * the current Wicket Application */ public WebSocketProcessor(final ServletUpgradeRequest upgradeRequest, final ServletUpgradeResponse upgradeResponse, final WebApplication application) { super(upgradeRequest.getHttpServletRequest(), application); this.request = upgradeRequest; }
@Override public Object createWebSocket(final ServletUpgradeRequest req, final ServletUpgradeResponse res) { return WebSocket.get(req.getHttpServletRequest()); } }
public Object getAttribute(String name) { return ((ServletUpgradeRequest)session.getUpgradeRequest()).getHttpServletRequest().getAttribute(name); } @Override
private static String getHeaderOrParameter(ServletUpgradeRequest servletUpgradeRequest, String key) { String value = servletUpgradeRequest.getHeader(key); if (value == null) value = servletUpgradeRequest.getHttpServletRequest().getParameter(key); return value; } }
public String getContextPath() { return ((ServletUpgradeRequest)session.getUpgradeRequest()).getHttpServletRequest().getContextPath(); } public String getLocalAddr() {
public String getContextPath() { return ((ServletUpgradeRequest)session.getUpgradeRequest()).getHttpServletRequest().getContextPath(); } public String getLocalAddr() {
public Object getAttribute(String name) { return ((ServletUpgradeRequest)session.getUpgradeRequest()).getHttpServletRequest().getAttribute(name); } @Override
webSocketServerFactory.setCreator((req, rsp) -> { JettyWebSocket ws = new JettyWebSocket(); req.getHttpServletRequest().setAttribute(JettyWebSocket.class.getName(), ws); return ws; });
private void run(Runnable runnable) { if (OneDev.getInstance().isReady()) { UnitOfWork unitOfWork = AppLoader.getInstance(UnitOfWork.class); unitOfWork.begin(); try { Subject subject = (Subject) request.getHttpServletRequest().getAttribute(WebSocketFilter.SHIRO_SUBJECT); ThreadContext.bind(subject); runnable.run(); } finally { ThreadContext.unbindSubject(); unitOfWork.end(); } } }
socket = new MQTTSocket(HttpTransportUtils.generateWsRemoteAddress(req.getHttpServletRequest())); ((MQTTSocket) socket).setTransportOptions(new HashMap<>(transportOptions)); ((MQTTSocket) socket).setPeerCertificates(req.getCertificates()); socket = new StompSocket(HttpTransportUtils.generateWsRemoteAddress(req.getHttpServletRequest())); ((StompSocket) socket).setPeerCertificates(req.getCertificates()); resp.setAcceptedSubProtocol(getAcceptedSubProtocol(stompProtocols, req.getSubProtocols(), "stomp"));
socket = new MQTTSocket(HttpTransportUtils.generateWsRemoteAddress(req.getHttpServletRequest())); ((MQTTSocket) socket).setTransportOptions(new HashMap<>(transportOptions)); ((MQTTSocket) socket).setPeerCertificates(req.getCertificates()); socket = new StompSocket(HttpTransportUtils.generateWsRemoteAddress(req.getHttpServletRequest())); ((StompSocket) socket).setPeerCertificates(req.getCertificates()); resp.setAcceptedSubProtocol(getAcceptedSubProtocol(stompProtocols, req.getSubProtocols(), "stomp"));
socket = new MQTTSocket(HttpTransportUtils.generateWsRemoteAddress(req.getHttpServletRequest())); ((MQTTSocket) socket).setTransportOptions(new HashMap<>(transportOptions)); ((MQTTSocket) socket).setPeerCertificates(req.getCertificates()); socket = new StompSocket(HttpTransportUtils.generateWsRemoteAddress(req.getHttpServletRequest())); ((StompSocket) socket).setPeerCertificates(req.getCertificates()); resp.setAcceptedSubProtocol(getAcceptedSubProtocol(stompProtocols, req.getSubProtocols(), "stomp"));
private WebSocketListener findWSTransport(ServletUpgradeRequest request, ServletUpgradeResponse response) { WSTransportProxy proxy = null; for (String subProtocol : request.getSubProtocols()) { try { String remoteAddress = HttpTransportUtils.generateWsRemoteAddress(request.getHttpServletRequest(), subProtocol); URI remoteURI = new URI(remoteAddress); TransportFactory factory = TransportFactory.findTransportFactory(remoteURI); if (factory instanceof BrokerServiceAware) { ((BrokerServiceAware) factory).setBrokerService(brokerService); } Transport transport = factory.doConnect(remoteURI); proxy = new WSTransportProxy(remoteAddress, transport); proxy.setPeerCertificates(request.getCertificates()); proxy.setTransportOptions(transportOptions); response.setAcceptedSubProtocol(proxy.getSubProtocol()); } catch (Exception e) { proxy = null; // Keep going and try any other sub-protocols present. continue; } } return proxy; }
@Override public void configure(WebSocketServletFactory factory) { factory.getPolicy().setMaxTextMessageSize(WebSocketService.MaxTextFrameSize); if (service.getConfig().getWebSocketSessionIdleTimeoutMillis() > 0) { factory.getPolicy().setIdleTimeout(service.getConfig().getWebSocketSessionIdleTimeoutMillis()); } factory.setCreator((request, response) -> new ProducerHandler(service, request.getHttpServletRequest(), response)); } }
@Override public void configure(WebSocketServletFactory factory) { factory.getPolicy().setMaxTextMessageSize(WebSocketService.MaxTextFrameSize); if (service.getConfig().getWebSocketSessionIdleTimeoutMillis() > 0) { factory.getPolicy().setIdleTimeout(service.getConfig().getWebSocketSessionIdleTimeoutMillis()); } factory.setCreator( (request, response) -> new ReaderHandler(service, request.getHttpServletRequest(), response)); } }
@Override public void configure(WebSocketServletFactory factory) { factory.getPolicy().setMaxTextMessageSize(WebSocketService.MaxTextFrameSize); if (service.getConfig().getWebSocketSessionIdleTimeoutMillis() > 0) { factory.getPolicy().setIdleTimeout(service.getConfig().getWebSocketSessionIdleTimeoutMillis()); } factory.setCreator( (request, response) -> new ConsumerHandler(service, request.getHttpServletRequest(), response)); } }
private WebSocketListener findWSTransport(ServletUpgradeRequest request, ServletUpgradeResponse response) { WSTransportProxy proxy = null; for (String subProtocol : request.getSubProtocols()) { try { String remoteAddress = HttpTransportUtils.generateWsRemoteAddress(request.getHttpServletRequest(), subProtocol); URI remoteURI = new URI(remoteAddress); TransportFactory factory = TransportFactory.findTransportFactory(remoteURI); if (factory instanceof BrokerServiceAware) { ((BrokerServiceAware) factory).setBrokerService(brokerService); } Transport transport = factory.doConnect(remoteURI); proxy = new WSTransportProxy(remoteAddress, transport); proxy.setPeerCertificates(request.getCertificates()); proxy.setTransportOptions(transportOptions); response.setAcceptedSubProtocol(proxy.getSubProtocol()); } catch (Exception e) { proxy = null; // Keep going and try any other sub-protocols present. continue; } } return proxy; }
private WebSocketListener findWSTransport(ServletUpgradeRequest request, ServletUpgradeResponse response) { WSTransportProxy proxy = null; for (String subProtocol : request.getSubProtocols()) { try { String remoteAddress = HttpTransportUtils.generateWsRemoteAddress(request.getHttpServletRequest(), subProtocol); URI remoteURI = new URI(remoteAddress); TransportFactory factory = TransportFactory.findTransportFactory(remoteURI); if (factory instanceof BrokerServiceAware) { ((BrokerServiceAware) factory).setBrokerService(brokerService); } Transport transport = factory.doConnect(remoteURI); proxy = new WSTransportProxy(remoteAddress, transport); proxy.setPeerCertificates(request.getCertificates()); proxy.setTransportOptions(transportOptions); response.setAcceptedSubProtocol(proxy.getSubProtocol()); } catch (Exception e) { proxy = null; // Keep going and try any other sub-protocols present. continue; } } return proxy; }