From e76d49eb05e0ab3280c9cac285c274b5b6f38fab Mon Sep 17 00:00:00 2001
From: ulrich
Date: Sun, 25 Feb 2024 17:06:08 +0000
Subject: [PATCH] Code des Filter optimiert
---
src/de/uhilger/neon/adoc/AdocFilter.java | 20 +++++++++-----------
1 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/src/de/uhilger/neon/adoc/AdocFilter.java b/src/de/uhilger/neon/adoc/AdocFilter.java
index 3d0bb4a..7a304e1 100644
--- a/src/de/uhilger/neon/adoc/AdocFilter.java
+++ b/src/de/uhilger/neon/adoc/AdocFilter.java
@@ -18,10 +18,12 @@
package de.uhilger.neon.adoc;
import com.sun.net.httpserver.Filter;
+import com.sun.net.httpserver.HttpContext;
import com.sun.net.httpserver.HttpExchange;
import de.uhilger.neon.FileServer;
import java.io.File;
import java.io.IOException;
+import java.net.URI;
/**
* AdocFilter prueft, ob fuer eine Asciidoctor-Quelldatei bereits eine HTML-Version vorliegt. Wenn
@@ -34,17 +36,13 @@
@Override
public void doFilter(HttpExchange exchange, Chain chain) throws IOException {
- String fileBase = exchange.getHttpContext().getAttributes()
- .get(FileServer.ATTR_FILE_BASE).toString();
- String fileName = exchange
- .getRequestURI()
- .getPath()
- .substring(exchange
- .getHttpContext()
- .getPath()
- .length());
- if(fileName.endsWith(".adoc")) {
- String query = exchange.getRequestURI().getQuery();
+ URI uri = exchange.getRequestURI();
+ String path = uri.getPath();
+ if(path.endsWith(".adoc")) {
+ HttpContext ctx = exchange.getHttpContext();
+ String fileBase = ctx.getAttributes().get(FileServer.ATTR_FILE_BASE).toString();
+ String fileName = path.substring(ctx.getPath().length());
+ String query = uri.getQuery();
if (query instanceof String && query.contains("pdf=true")) {
processAdocFile(new File(fileBase, fileName), true);
} else {
--
Gitblit v1.9.3