From f7b9adf186cdda03ef787dd8064066e790710a69 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Sun, 25 Feb 2024 11:45:13 +0000
Subject: [PATCH] Matcher um Pattern-Attribut erweitert und in Filter verlagert; Berichtigungen am ImageWorker

---
 src/de/uhilger/neon/image/ImageFilter.java |   30 +++++++++++++++++++-----------
 1 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/src/de/uhilger/neon/image/ImageFilter.java b/src/de/uhilger/neon/image/ImageFilter.java
index 1f02274..c1b3f29 100644
--- a/src/de/uhilger/neon/image/ImageFilter.java
+++ b/src/de/uhilger/neon/image/ImageFilter.java
@@ -60,18 +60,26 @@
   
   @Override
   public void doFilter(HttpExchange exchange, Chain chain) throws IOException {
+    /*
+      Regex fuer Bilder
+      .+\.jpg|.+\.jpeg|.+\.png
+      (Testen z.B. auf https://regexr.com/)
+    */
+    String pattern = (String) exchange.getHttpContext().getAttributes()
+            .getOrDefault("imageFilterPattern", ".+\\.jpg|.+\\.jpeg|.+\\.png");
     String uriStr = exchange.getRequestURI().toString();
-    //String fName = new HttpHelper().getFileName(exchange);
-    String fName = exchange
-            .getRequestURI()
-            .getPath()
-            .substring(exchange
-                    .getHttpContext()
-                    .getPath()
-                    .length());          
-    ImageWorker worker = new ImageWorker();
-    worker.createImages(exchange.getHttpContext().getAttributes().get(FileServer.ATTR_FILE_BASE).toString(), 
-            fName, uriStr);
+    if(uriStr.matches(pattern)) {
+      String fileBase = (String) exchange.getHttpContext().getAttributes()
+              .get(FileServer.ATTR_FILE_BASE);
+      String fileName = exchange
+              .getRequestURI()
+              .getPath()
+              .substring(exchange
+                      .getHttpContext()
+                      .getPath()
+                      .length());          
+      new ImageWorker().createImages(fileBase, fileName, uriStr);
+    }
     chain.doFilter(exchange);
   }
 

--
Gitblit v1.9.3