From ca79593d7659cd9c6dcdd38692888b26dcbef4f5 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Thu, 14 Nov 2024 14:32:32 +0000
Subject: [PATCH] Readme um Buildinfos erweitert
---
src/de/uhilger/neon/FileServer.java | 24 ++++++++++++++----------
1 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/src/de/uhilger/neon/FileServer.java b/src/de/uhilger/neon/FileServer.java
index cfb8ce6..86aef24 100644
--- a/src/de/uhilger/neon/FileServer.java
+++ b/src/de/uhilger/neon/FileServer.java
@@ -53,22 +53,24 @@
public static final String STR_COMMA = ",";
public static final String STR_DOT = ".";
public static final String STR_EMPTY = "";
+ public static final String STR_EQUAL = "=";
public void serveFile(HttpExchange exchange) throws IOException {
- String fName = new HttpHelper().getFileName(exchange);
- if (fName.startsWith(".")) {
- HttpResponder fs = new HttpResponder();
- fs.sendNotFound(exchange, fName);
- } else {
- File fileToDeliver = new File((String) exchange
+ String fName = exchange.getRequestURI().getPath();
+ try {
+ fName = new HttpHelper().getFileName(exchange);
+ String fBase = (String) exchange
.getHttpContext().getAttributes()
- .getOrDefault(ATTR_FILE_BASE, STR_EMPTY), fName);
+ .getOrDefault(ATTR_FILE_BASE, STR_EMPTY);
+ //File fileToDeliver = new File((String) exchange
+ // .getHttpContext().getAttributes()
+ // .getOrDefault(ATTR_FILE_BASE, STR_EMPTY), fName);
+ File fileToDeliver = new File(fBase, fName);
Headers headers = exchange.getRequestHeaders();
if (headers.containsKey(RANGE_HEADER)) {
new PartialFileServer().serveFileParts(exchange, fileToDeliver);
} else {
if (fName.length() < 1 || fName.endsWith(STR_SLASH)) {
- //HttpHelper helper = new HttpHelper();
File welcomeFile = tryWelcomeFiles(exchange, fName);
if(welcomeFile != null) {
fileToDeliver = welcomeFile;
@@ -76,9 +78,11 @@
}
new HttpResponder().serveFile(exchange, fileToDeliver);
}
- }
+ } catch(IllegalArgumentException ex) {
+ new HttpResponder().sendNotFound(exchange, fName);
+ }
}
-
+
public File tryWelcomeFiles(HttpExchange e, String fName) {
boolean notFound = true;
File file = null;
--
Gitblit v1.9.3