code: private void doInstall(final Message<JsonObject> message) {
      String moduleName = message.body().getString("module");
      if (moduleName == null) {
        message.reply(new JsonObject().putString("status", "error").putString("message", "No module specified."));
        return;
      }
  
      String uploadID = message.body().getString("upload");
      if (uploadID == null) {
        message.reply(new JsonObject().putString("status", "error").putString("message", "No upload found."));
        return;
      }
  
      final File modRoot = new File(TEMP_DIR, "vertx-zip-mods");
      final File modZip = new File(modRoot, uploadID + ".zip");
  
      vertx.fileSystem().exists(modZip.getAbsolutePath(), new Handler<AsyncResult<Boolean>>() {
        @Override
        public void handle(AsyncResult<Boolean> result) {
          if (result.failed()) {
            message.reply(new JsonObject().putString("status", "error").putString("message", result.cause().getMessage()));
          } else if (!result.result()) {
            message.reply(new JsonObject().putString("status", "error").putString("message", "Invalid upload."));
          } else {
            platform.installModule(modZip.getAbsolutePath(), new Handler<AsyncResult<Void>>() {
              @Override
              public void handle(AsyncResult<Void> result) {
                if (result.failed()) {
                  message.reply(new JsonObject().putString("status", "error").putString("message", result.cause().getMessage()));
                } else {
                  message.reply(new JsonObject().putString("status", "ok"));
                }
              }
            });
          }
        }
      });
    }
docs: Installs a module.