Hi,
I do believe you can achive what you're asking with:
router.route("/app/eventbus/*")
.handler(BodyHandler.create())
.subRouter(SockJSHandler.create(vertx).bridge(....));
While you don't add the BodyHandler to the sockJS router yourself, you can add it to the route where you're mounting the sockjs bridge. If you really must have it in the sockjs router (which I won't recommend as this might interfere with the router setup) you can do something like:
subRouter = SockJSHandler.create(vertx).bridge(...);
subRouter.route().order(0).handler(BodyHandler.create(...));
router.route("/app/eventbus/*").subRotuer(subRouter);As this is modifying the order of the mounted routes, it might work as you wish but may also force a reorder of routes that will produce undefined behavior, so use it with caution.
Cheers.
Paulo