From 2b6134e50801f9fc66a27a2d565340f5773f251f Mon Sep 17 00:00:00 2001
From: ulrich
Date: Sun, 04 Apr 2021 11:24:49 +0000
Subject: [PATCH] ResourceBundle eingebaut

---
 src/de/uhilger/mediaz/api/FileHandler.java |   38 +++++++++++++++++++++-----------------
 1 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/src/de/uhilger/mediaz/handler/FileHandler.java b/src/de/uhilger/mediaz/api/FileHandler.java
similarity index 92%
rename from src/de/uhilger/mediaz/handler/FileHandler.java
rename to src/de/uhilger/mediaz/api/FileHandler.java
index 4835e05..ab20120 100644
--- a/src/de/uhilger/mediaz/handler/FileHandler.java
+++ b/src/de/uhilger/mediaz/api/FileHandler.java
@@ -15,12 +15,14 @@
   You should have received a copy of the GNU Affero General Public License
   along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
-package de.uhilger.mediaz.handler;
+package de.uhilger.mediaz.api;
 
 import com.sun.net.httpserver.Headers;
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
+import de.uhilger.mediaz.App;
 import de.uhilger.mediaz.Server;
+import static de.uhilger.mediaz.Server.RB_SLASH;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -68,15 +70,17 @@
   public static final String HTTP_GET = "GET";
   
   /* String Konstanten */
-  public static final String STR_BYTES = "bytes";
   public static final String STR_BLANK = " ";
-  public static final String STR_DASH = "-";
   public static final String STR_COMMA = ",";
   public static final String STR_DOT = ".";
-  public static final String STR_NOT_FOUND = " not found.";
-  public static final String LM_PATTERN = "EEE, dd MMM yyyy HH:mm:ss zzz";
-  public static final String RANGE_PATTERN = "[^\\d-,]";
-  public static final String WELCOME_FILE = "index.html";
+
+  /* ResourceBundle-Kennungen */
+  public static final String RB_BYTES = "bytes";
+  public static final String RB_DASH = "dash";
+  public static final String RB_NOT_FOUND = "notFound";
+  public static final String RB_LM_PATTERN = "lmPattern";
+  public static final String RB_RANGE_PATTERN = "rangePattern";
+  public static final String RB_WELCOME_FILE = "welcomeFile";
 
   /* Ablageort fuer Webinhalte */
   private final String fileBase;
@@ -111,8 +115,8 @@
       if (headers.containsKey(RANGE_HEADER)) {
         serveFileParts(e, new File(fileBase, fName));
       } else {
-        if (fName.length() < 1 || fName.endsWith(Server.STR_SLASH)) {
-          fName += WELCOME_FILE;
+        if (fName.length() < 1 || fName.endsWith(App.getRs(RB_SLASH))) {
+          fName += App.getRs(RB_WELCOME_FILE);
         }
         serveFile(e, new File(fileBase, fName));
       }
@@ -254,7 +258,7 @@
       Der regulaere Ausdruck "[^\\d-,]" bezeichnet alle Zeichen, die keine 
       Ziffern 0-9, Bindestrich oder Komma sind.
      */
-    rangeHeader = rangeHeader.replaceAll(RANGE_PATTERN, "");
+    rangeHeader = rangeHeader.replaceAll(App.getRs(RB_RANGE_PATTERN), "");
 
     /*
       Die Ranges ermitteln. 
@@ -277,7 +281,7 @@
     String[] rangeArray = rangeHeader.split(STR_COMMA);
     for (String rangeStr : rangeArray) {
       Range range = new Range();
-      String[] values = rangeStr.split(STR_DASH);
+      String[] values = rangeStr.split(App.getRs(RB_DASH));
       if (values.length < 2) {
         // Fall 3
         range.setStart(Long.parseLong(values[0]));
@@ -308,12 +312,12 @@
    */
   protected String contentRangeHdr(Range range, File file) {
     StringBuilder sb = new StringBuilder();
-    sb.append(STR_BYTES);
+    sb.append(App.getRs(RB_BYTES));
     sb.append(STR_BLANK);
     sb.append(range.getStart());
-    sb.append(STR_DASH);
+    sb.append(App.getRs(RB_DASH));
     sb.append(range.getEnd());
-    sb.append(Server.STR_SLASH);
+    sb.append(App.getRs(RB_SLASH));
     sb.append(file.length());
     return sb.toString();
   }
@@ -330,12 +334,12 @@
    */
   protected void setHeaders(HttpExchange e, File file) throws IOException {
     Headers resHeaders = e.getResponseHeaders();
-    resHeaders.add(ACCEPT_RANGES_HEADER, STR_BYTES);
+    resHeaders.add(ACCEPT_RANGES_HEADER, App.getRs(RB_BYTES));
     String mimeType = Files.probeContentType(file.toPath());
     if (mimeType != null) {
       resHeaders.add(CONTENT_TYPE, mimeType);
     }
-    SimpleDateFormat sdf = new SimpleDateFormat(LM_PATTERN);
+    SimpleDateFormat sdf = new SimpleDateFormat(App.getRs(RB_LM_PATTERN));
     Date date = new Date(file.lastModified());
     resHeaders.add(LAST_MODIFIED_DATE_HEADER, sdf.format(date));
   }
@@ -350,7 +354,7 @@
    */
   protected void sendNotFound(HttpExchange e, String fname) throws IOException {
     OutputStream os = e.getResponseBody();
-    String response = fname + STR_NOT_FOUND;
+    String response = fname + STR_BLANK + App.getRs(RB_NOT_FOUND);
     byte[] bytes = response.getBytes(StandardCharsets.UTF_8);
     e.sendResponseHeaders(SC_NOT_FOUND, bytes.length);
     os.write(bytes);

--
Gitblit v1.9.3