Ultrakompakter HTTP Server
ulrich
6 days ago 31ff37baa3f5562ef959ec91aa3ea60b7c89f2fe
src/de/uhilger/neon/Factory.java
@@ -158,19 +158,29 @@
  }
  private Authenticator createAuthenticator(NeonDescriptor d) {
    Logger.getLogger(Factory.class.getName()).log(
            Level.FINER, "{0} ", new Object[]{"creating Authenticator"});
    Authenticator auth = null;
    if (d.authenticator != null) {
      try {
      Logger.getLogger(Factory.class.getName()).log(
              Level.FINER, "Authenticator className {0} ", new Object[]{d.authenticator.className});
        Object authObj = Class.forName(d.authenticator.className)
                .getDeclaredConstructor().newInstance();
        if (authObj instanceof Authenticator) {
          auth = (Authenticator) authObj;
          Logger.getLogger(Factory.class.getName()).log(
                  Level.FINER, "Authenticator className {0} created", new Object[]{d.authenticator.className});
          return auth;
        }
      } catch (ClassNotFoundException | NoSuchMethodException | SecurityException
              | InstantiationException | IllegalAccessException | IllegalArgumentException
              | InvocationTargetException ex) {
        // Klasse nicht gefunden. Muss das geloggt oder sonstwie behandel werden?
        Logger.getLogger(Factory.class.getName()).log(
              Level.FINER, "Authenticator className {0} not created, error {1}",
                new Object[]{d.authenticator.className, ex.getLocalizedMessage()});
        return null;
      }
    }
@@ -196,8 +206,8 @@
         */
        ctxAttrs.putAll(cd.attributes);
        ctxAttrs.put("serverDataProviderList", sdp);
        if (h instanceof Handler handler) {
          wire(handler, cd.attributes.get("contextName"));
        if (h instanceof Handler) {
          wire((Handler) h, cd.attributes.get("contextName"));
        }
        if (cd.authenticator instanceof String) {
          if (!(auth instanceof Authenticator)) {
@@ -214,8 +224,8 @@
            //
            Object filterObj = Class.forName(filterClassName)
                    .getDeclaredConstructor().newInstance();
            if (filterObj instanceof Filter filter) {
              ctx.getFilters().add(filter);
            if (filterObj instanceof Filter) {
              ctx.getFilters().add((Filter) filterObj);
            }
          }
        }
@@ -354,6 +364,9 @@
    Iterator<ActorDescriptor> i = actorList.iterator();
    while(i.hasNext()) {
      ActorDescriptor actor = i.next();
      Logger.getLogger(Factory.class.getName()).log(
              Level.FINER, "actorClassName {0} route {1}",
              new Object[]{actor.getActorClassName(), actor.getRoute()});
      h.setActor(actor.getHttpMethod(), actor.getRoute(), actor.getActorClassName());
    }
  }