From f019744cc72718e723302358802c80136c42f8c8 Mon Sep 17 00:00:00 2001 From: Jarno Elonen Date: Sat, 22 Aug 2015 21:01:24 +0300 Subject: Fixed SimpleWebServer, bumped version --- pom.xml | 2 +- webserver/pom.xml | 2 +- webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 67a8dc0..e2ea817 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.nanohttpd nanohttpd-project - 2.2.0-SNAPSHOT + 2.2.1-SNAPSHOT pom NanoHttpd-Project NanoHttpd is a light-weight HTTP server designed for embedding in other applications. diff --git a/webserver/pom.xml b/webserver/pom.xml index 45f726b..32b1f54 100644 --- a/webserver/pom.xml +++ b/webserver/pom.xml @@ -4,7 +4,7 @@ org.nanohttpd nanohttpd-project - 2.2.0-SNAPSHOT + 2.2.1-SNAPSHOT nanohttpd-webserver jar diff --git a/webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java b/webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java index 29ab5ce..0ddc21c 100644 --- a/webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java +++ b/webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java @@ -386,6 +386,12 @@ public class SimpleWebServer extends NanoHTTPD { return msg.toString(); } + public static Response newFixedLengthResponse(IStatus status, String mimeType, String message) { + Response response = NanoHTTPD.newFixedLengthResponse(status, mimeType, message); + response.addHeader("Accept-Ranges", "bytes"); + return response; + } + private Response respond(Map headers, IHTTPSession session, String uri) { // Remove URL arguments uri = uri.trim().replace(File.separatorChar, '/'); @@ -415,7 +421,6 @@ public class SimpleWebServer extends NanoHTTPD { uri += "/"; Response res = newFixedLengthResponse(Response.Status.REDIRECT, NanoHTTPD.MIME_HTML, "Redirected: " + uri + ""); - res.addHeader("Accept-Ranges", "bytes"); res.addHeader("Location", uri); return res; } @@ -427,8 +432,7 @@ public class SimpleWebServer extends NanoHTTPD { if (indexFile == null) { if (f.canRead()) { // No index file, list the directory if it is readable - Response res = newFixedLengthResponse(Response.Status.OK, NanoHTTPD.MIME_HTML, listDirectory(uri, f)); - res.addHeader("Accept-Ranges", "bytes"); + return newFixedLengthResponse(Response.Status.OK, NanoHTTPD.MIME_HTML, listDirectory(uri, f)); } else { return getForbiddenResponse("No directory listing."); } @@ -531,7 +535,6 @@ public class SimpleWebServer extends NanoHTTPD { // would return range from file // respond with not-modified res = newFixedLengthResponse(Response.Status.NOT_MODIFIED, mime, ""); - res.addHeader("Accept-Ranges", "bytes"); res.addHeader("ETag", etag); } else { if (endAt < 0) { @@ -558,14 +561,12 @@ public class SimpleWebServer extends NanoHTTPD { // 4xx responses are not trumped by if-none-match res = newFixedLengthResponse(Response.Status.RANGE_NOT_SATISFIABLE, NanoHTTPD.MIME_PLAINTEXT, ""); res.addHeader("Content-Range", "bytes */" + fileLen); - res.addHeader("Accept-Ranges", "bytes"); res.addHeader("ETag", etag); } else if (range == null && headerIfNoneMatchPresentAndMatching) { // full-file-fetch request // would return entire file // respond with not-modified res = newFixedLengthResponse(Response.Status.NOT_MODIFIED, mime, ""); - res.addHeader("Accept-Ranges", "bytes"); res.addHeader("ETag", etag); } else if (!headerIfRangeMissingOrMatching && headerIfNoneMatchPresentAndMatching) { // range request that doesn't match current etag @@ -573,7 +574,6 @@ public class SimpleWebServer extends NanoHTTPD { // respond with not-modified res = newFixedLengthResponse(Response.Status.NOT_MODIFIED, mime, ""); - res.addHeader("Accept-Ranges", "bytes"); res.addHeader("ETag", etag); } else { // supply the file -- cgit v1.2.3