если я получаю HttpServerRequest в обработчике, как-то можно опубликовать запрос?Vert.x опубликовать HttpServerRequest другому модулю
Я хочу реализовать небольшой демонстрационный сайт с индексом index.html и неизвестным количеством подсайтов. Сначала должен быть основной модуль vert.x, который запускает HttpServer. В этом основном модуле должно быть возможно добавить другие зависимые модули. Сейчас я буду называть их подмодулями. Я не знаю, сколько подмодулей я буду иметь позже, но каждый подмодуль должен содержать логику для обработки ответа HTTP для определенного URL (файлы sub html). Я предполагаю, что я должен сделать то же самое для WebSocketHandler ...
Небольшой пример кода в начале():
//My Main Module:
vertx.createHttpServer().requestHandler(new Handler<HttpServerRequest>() {
public void handle(HttpServerRequest req) {
vertx.eventBus().publish("HTTP_REQUEST_CONSTANT", req);
}
}).listen(8080);
// My submodule 1
vertx.eventBus().registerHandler("HTTP_REQUEST_CONSTANT", new Handler<HttpServerRequest>() {
@Override
public void handle(HttpServerRequest req) {
if (req.uri().equals("/")) {
req.response();
}
}
});
// Other submodules which handles other URLs
Или любые другие решения? Я просто не хочу иметь логику для субсайтов в основном модуле.
Редактировать: Или я могу вызвать метод vertx.createHttpServer() в каждом подмодуле?
Играл с этим немного, но не нашел самостоятельного пути. «самодостаточный» смысл, в отличие от внешнего веб-прокси (apache и т. д.), который отображает разные пути к модулям, каждый из которых запускает собственный HTTP-прослушиватель на разных портах. Однако это не удобно для развития. Хороший вопрос. – tariksbl