code: private boolean invokeHook(List<Route> hooks, RouteContext context) throws Exception {
          for (Route hook : hooks) {
              if (hook.getTargetType() == RouteHandler.class) {
                  RouteHandler routeHandler = (RouteHandler) hook.getTarget();
                  routeHandler.handle(context);
                  if (context.isAbort()) {
                      return false;
                  }
              } else if (hook.getTargetType() == RouteHandler0.class) {
                  RouteHandler0 routeHandler = (RouteHandler0) hook.getTarget();
                  routeHandler.handle(context.request(), context.response());
              } else {
                  boolean flag = this.invokeHook(context, hook);
                  if (!flag) return false;
              }
          }
          return true;
      }
docs: invoke hooks
  
  @param hooks   webHook list
  @param context http request
  @return return invoke hook is abort