/** * Configures and binds the SockJS bridge to an HttpServer. * * @param router router */ public void install(Router router) { BridgeOptions bridgeOptions = new BridgeOptions() .addOutboundPermitted(new PermittedOptions().setAddressRegex(addressPrefix + "(.*)")); if (eventbusBridgePingInterval != null) { bridgeOptions = bridgeOptions.setPingTimeout(eventbusBridgePingInterval); } router.route(sockPath).handler(SockJSHandler.create(vertx).bridge(bridgeOptions)); log.info("Installed SockJS endpoint on " + sockPath); log.info("Listening to requests on " + adressPathPattern.pattern()); log.info("Using address prefix " + addressPrefix); }
private void initWebSocket() { Router router = Router.router(vertx); SockJSHandlerOptions options = new SockJSHandlerOptions() .setHeartbeatInterval(1000 * 60); SockJSHandler sockJSHandler = SockJSHandler.create(vertx, options); PermittedOptions inboundPermitted = new PermittedOptions().setAddressRegex("server/.*"); PermittedOptions outboundPermitted = new PermittedOptions().setAddressRegex("client/.*"); BridgeOptions ops = new BridgeOptions() .addInboundPermitted(inboundPermitted) .addOutboundPermitted(outboundPermitted); sockJSHandler.bridge(ops); router.route("/eb/*").handler(sockJSHandler); mainRouter.mountSubRouter("/ws", router); }
@Singleton @Nullable @Provides public BridgeOptions provideBridgeOptions(VertxFactory vertxFactory) { BridgeOptions opts = null; if (vertxFactory.isRouterDefined() && vertxFactory.router().isSockJSHandlerDefined()) { PermissionsConfig permissionsConfig = vertxFactory.router().sockjs().bridge().permissions(); opts = new BridgeOptions(); for (String inboundPermmited : permissionsConfig.inbound()) { opts.addInboundPermitted(new PermittedOptions().setAddress(inboundPermmited)); } for (String inboundPermmited : permissionsConfig.inboundRegex()) { opts.addInboundPermitted(new PermittedOptions().setAddressRegex(inboundPermmited)); } for (String outboundPermmited : permissionsConfig.outbound()) { opts.addOutboundPermitted(new PermittedOptions().setAddress(outboundPermmited)); } for (String outboundPermmited : permissionsConfig.outboundRegex()) { opts.addOutboundPermitted(new PermittedOptions().setAddressRegex(outboundPermmited)); } } return opts; }