From 5c349d8fc2c21da7e88b613e009ec6e33ad304ea Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Fri, 13 Nov 2020 23:48:40 +0100 Subject: [PATCH] still working on mime problem --- pom.xml | 2 +- resources/logback.xml | 2 +- .../de/srsoftware/web4rail/Application.java | 23 +++++++++++++++---- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 6ffa599..8d8a222 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.srsoftware web4rail - 0.11.19 + 0.11.20 Web4Rail jar Java Model Railway Control diff --git a/resources/logback.xml b/resources/logback.xml index 0a48ec6..79b2091 100644 --- a/resources/logback.xml +++ b/resources/logback.xml @@ -7,7 +7,7 @@ - + diff --git a/src/main/java/de/srsoftware/web4rail/Application.java b/src/main/java/de/srsoftware/web4rail/Application.java index 1ae2ce6..1fe6a00 100644 --- a/src/main/java/de/srsoftware/web4rail/Application.java +++ b/src/main/java/de/srsoftware/web4rail/Application.java @@ -8,13 +8,17 @@ import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.lang.reflect.InvocationTargetException; +import java.net.FileNameMap; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.URI; +import java.net.URLConnection; import java.net.URLDecoder; import java.nio.file.Files; import java.util.Date; import java.util.HashMap; +import java.util.List; +import java.util.Vector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -206,10 +210,9 @@ public class Application extends BaseClass{ File file = new File(System.getProperty("user.dir")+"/resources"+uri); LOG.debug("requesting file: {}",file); if (file.exists()) { - LOG.debug("found..."); - String ct = Files.probeContentType(file.toPath()); - LOG.debug("Content-Type: {}",ct); - client.getResponseHeaders().add("Content-Type", ct); + String mime = mimeOf(file); + LOG.debug("Mime type: {}",mime); + client.getResponseHeaders().add("Content-Type", mime); LOG.debug("Length: {}",file.length()); client.sendResponseHeaders(200, file.length()); LOG.debug("Sent headers..."); @@ -226,6 +229,18 @@ public class Application extends BaseClass{ sendError(client,404,t("Could not find \"{}\"",uri)); } + private static String mimeOf(File file) throws IOException { + String[] parts = file.toString().split("\\."); + switch (parts[parts.length-1].toLowerCase()) { + case "js": + return "application/javascript"; + case "css": + return "text/css"; + } + LOG.warn("No conten type stored for {}!",file); + return Files.probeContentType(file.toPath()); + } + /** * sends a response to a given client * @param client