From 4d253a518cdd889ad84c8f873aa615e14b6d9ca8 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Fri, 23 Feb 2024 12:35:51 +0000
Subject: [PATCH] Filter hinzugefuegt

---
 src/de/uhilger/neon/Factory.java                  |   10 ++++++++++
 src/de/uhilger/neon/entity/ContextDescriptor.java |    2 ++
 2 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/de/uhilger/neon/Factory.java b/src/de/uhilger/neon/Factory.java
index 4f9e14a..6e2f441 100644
--- a/src/de/uhilger/neon/Factory.java
+++ b/src/de/uhilger/neon/Factory.java
@@ -19,6 +19,7 @@
 
 import com.google.gson.Gson;
 import com.sun.net.httpserver.Authenticator;
+import com.sun.net.httpserver.Filter;
 import com.sun.net.httpserver.HttpContext;
 import com.sun.net.httpserver.HttpHandler;
 import com.sun.net.httpserver.HttpServer;
@@ -199,6 +200,15 @@
         //    ctx.getAttributes().putAll(d.authenticator.attributes);
         //    fireAuthenticatorCreated(ctx, auth);
         //}
+        for(String filterClassName : cd.filter) {
+          //
+          Object filterObj = Class.forName(filterClassName)
+                .getDeclaredConstructor().newInstance();
+          if(filterObj instanceof Filter) {
+            Filter filter = (Filter) filterObj;
+            ctx.getFilters().add(filter);
+          }
+        }
         fireHandlerCreated(ctx, h);
         fireContextCreated(ctx);
       } else {
diff --git a/src/de/uhilger/neon/entity/ContextDescriptor.java b/src/de/uhilger/neon/entity/ContextDescriptor.java
index 47502fa..218270d 100644
--- a/src/de/uhilger/neon/entity/ContextDescriptor.java
+++ b/src/de/uhilger/neon/entity/ContextDescriptor.java
@@ -17,6 +17,7 @@
  */
 package de.uhilger.neon.entity;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -28,6 +29,7 @@
   public String className;
   public boolean sharedHandler;
   public String contextPath;
+  public List<String> filter;
   public String authenticator;
   public Map<String, String> attributes;
 }

--
Gitblit v1.9.3