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