i have a verticle that handler the socket write and response. Then i use a verticle to response for the http request. The question is the 2 can get data, but i don't know how to response the data to the http reqest 3. |
var Router = require("vertx-web-js/router");
var server = vertx.createHttpServer({});
var router = Router.router(vertx);
router.route("/test/*").handler(function (routingContext) {
var response = routingContext.response();
response.putHeader("content-type", "text/html");
response.end("hello world");
});
server.requestHandler(router.accept).listen(8080);vertx.eventBus().consumer("", msg -> {
// handle socket response here
});
// http routingContext here.
They are seprate.
@Override
public void start() throws Exception {
HttpServer server = this.vertx.createHttpServer();
Router router = Router.router(vertx);
BodyHandler bodyHandler = BodyHandler.create();
router.route().handler(bodyHandler);
router.route("/path").handler(rc ->{
JsonObject parameters = rc.getBodyAsJson();
this.vertx.eventBus().<JsonObject>send("some.address", parameters, ar ->{
if (ar.succeeded()) {
JsonObject result = ar.result().body();
rc.response().end(result.encode());
} else {
// Do some fail - this is not good to return exception from server :D better some error code
// rc.fail(ar.cause());
rc.fail(-1);
}
});
});
}
this.vertx.eventBus().<JsonObject>send("some.address", parameters, ar ->{
if (ar.succeeded()) {
JsonObject result = ar.result().body();
rc.response().end(result.encode());
} else {
// Do some fail - this is not good to return exception from server :D better some error code
// rc.fail(ar.cause());
rc.fail(-1);
}
});
vertx.eventBus().consumer("", msg -> {
// handle socket response here
});
// http routingContext here.
They are seprate.