diff options
-rw-r--r-- | core/src/main/java/fi/iki/elonen/NanoHTTPD.java | 11 | ||||
-rw-r--r-- | core/src/test/java/fi/iki/elonen/HttpDeleteRequestTest.java | 15 | ||||
-rw-r--r-- | core/src/test/java/fi/iki/elonen/HttpGetRequestTest.java | 3 | ||||
-rw-r--r-- | core/src/test/java/fi/iki/elonen/HttpHeadRequestTest.java | 3 | ||||
-rw-r--r-- | core/src/test/java/fi/iki/elonen/integration/GZipIntegrationTest.java | 16 | ||||
-rw-r--r-- | pom.xml | 2 | ||||
-rw-r--r-- | webserver/pom.xml | 2 | ||||
-rw-r--r-- | webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java | 5 |
8 files changed, 26 insertions, 31 deletions
diff --git a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java index 9a37bad..b39efdb 100644 --- a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java +++ b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java @@ -1102,9 +1102,12 @@ public abstract class NanoHTTPD { FORBIDDEN(403, "Forbidden"), NOT_FOUND(404, "Not Found"), METHOD_NOT_ALLOWED(405, "Method Not Allowed"), + NOT_ACCEPTABLE(406, "Not Acceptable"), REQUEST_TIMEOUT(408, "Request Timeout"), + CONFLICT(409, "Conflict"), RANGE_NOT_SATISFIABLE(416, "Requested Range Not Satisfiable"), INTERNAL_ERROR(500, "Internal Server Error"), + NOT_IMPLEMENTED(501, "Not Implemented"), UNSUPPORTED_HTTP_VERSION(505, "HTTP Version Not Supported"); private final int requestStatus; @@ -1798,21 +1801,21 @@ public abstract class NanoHTTPD { /** * Create a response with unknown length (using HTTP 1.1 chunking). */ - public Response newChunkedResponse(IStatus status, String mimeType, InputStream data) { + public static Response newChunkedResponse(IStatus status, String mimeType, InputStream data) { return new Response(status, mimeType, data, -1); } /** * Create a response with known length. */ - public Response newFixedLengthResponse(IStatus status, String mimeType, InputStream data, long totalBytes) { + public static Response newFixedLengthResponse(IStatus status, String mimeType, InputStream data, long totalBytes) { return new Response(status, mimeType, data, totalBytes); } /** * Create a text response with known length. */ - public Response newFixedLengthResponse(IStatus status, String mimeType, String txt) { + public static Response newFixedLengthResponse(IStatus status, String mimeType, String txt) { if (txt == null) { return newFixedLengthResponse(status, mimeType, new ByteArrayInputStream(new byte[0]), 0); } else { @@ -1830,7 +1833,7 @@ public abstract class NanoHTTPD { /** * Create a text response with known length. */ - public Response newFixedLengthResponse(String msg) { + public static Response newFixedLengthResponse(String msg) { return newFixedLengthResponse(Status.OK, NanoHTTPD.MIME_HTML, msg); } diff --git a/core/src/test/java/fi/iki/elonen/HttpDeleteRequestTest.java b/core/src/test/java/fi/iki/elonen/HttpDeleteRequestTest.java index 87b3782..8ce49e1 100644 --- a/core/src/test/java/fi/iki/elonen/HttpDeleteRequestTest.java +++ b/core/src/test/java/fi/iki/elonen/HttpDeleteRequestTest.java @@ -42,8 +42,7 @@ public class HttpDeleteRequestTest extends HttpServerTest { @Test public void testDeleteRequestThatDoesntSendBackResponseBody_EmptyString() throws Exception { - this.testServer.response = new NanoHTTPD(0) { - }.newFixedLengthResponse(NanoHTTPD.Response.Status.NO_CONTENT, NanoHTTPD.MIME_HTML, ""); + this.testServer.response = NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.NO_CONTENT, NanoHTTPD.MIME_HTML, ""); ByteArrayOutputStream outputStream = invokeServer("DELETE " + HttpServerTest.URI + " HTTP/1.1"); @@ -61,8 +60,7 @@ public class HttpDeleteRequestTest extends HttpServerTest { @Test public void testDeleteRequestThatDoesntSendBackResponseBody_NullInputStream() throws Exception { - this.testServer.response = new NanoHTTPD(0) { - }.newChunkedResponse(NanoHTTPD.Response.Status.NO_CONTENT, NanoHTTPD.MIME_HTML, (InputStream) null); + this.testServer.response = NanoHTTPD.newChunkedResponse(NanoHTTPD.Response.Status.NO_CONTENT, NanoHTTPD.MIME_HTML, (InputStream) null); ByteArrayOutputStream outputStream = invokeServer("DELETE " + HttpServerTest.URI + " HTTP/1.1"); @@ -80,8 +78,7 @@ public class HttpDeleteRequestTest extends HttpServerTest { @Test public void testDeleteRequestThatDoesntSendBackResponseBody_NullString() throws Exception { - this.testServer.response = new NanoHTTPD(0) { - }.newFixedLengthResponse(NanoHTTPD.Response.Status.NO_CONTENT, NanoHTTPD.MIME_HTML, (String) null); + this.testServer.response = NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.NO_CONTENT, NanoHTTPD.MIME_HTML, (String) null); ByteArrayOutputStream outputStream = invokeServer("DELETE " + HttpServerTest.URI + " HTTP/1.1"); @@ -99,8 +96,7 @@ public class HttpDeleteRequestTest extends HttpServerTest { @Test public void testDeleteRequestThatSendsBackResponseBody_Accepted() throws Exception { - this.testServer.response = new NanoHTTPD(0) { - }.newFixedLengthResponse(NanoHTTPD.Response.Status.ACCEPTED, "application/xml", "<body />"); + this.testServer.response = NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.ACCEPTED, "application/xml", "<body />"); ByteArrayOutputStream outputStream = invokeServer("DELETE " + HttpServerTest.URI + " HTTP/1.1"); @@ -119,8 +115,7 @@ public class HttpDeleteRequestTest extends HttpServerTest { @Test public void testDeleteRequestThatSendsBackResponseBody_Success() throws Exception { - this.testServer.response = new NanoHTTPD(0) { - }.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "application/xml", "<body />"); + this.testServer.response = NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "application/xml", "<body />"); ByteArrayOutputStream outputStream = invokeServer("DELETE " + HttpServerTest.URI + " HTTP/1.1"); diff --git a/core/src/test/java/fi/iki/elonen/HttpGetRequestTest.java b/core/src/test/java/fi/iki/elonen/HttpGetRequestTest.java index de1285f..e1a6b8b 100644 --- a/core/src/test/java/fi/iki/elonen/HttpGetRequestTest.java +++ b/core/src/test/java/fi/iki/elonen/HttpGetRequestTest.java @@ -168,8 +168,7 @@ public class HttpGetRequestTest extends HttpServerTest { @Test public void testOutputOfServeSentBackToClient() throws Exception { String responseBody = "Success!"; - this.testServer.response = new NanoHTTPD(0) { - }.newFixedLengthResponse(responseBody); + this.testServer.response = NanoHTTPD.newFixedLengthResponse(responseBody); ByteArrayOutputStream outputStream = invokeServer("GET " + HttpServerTest.URI + " HTTP/1.1"); String[] expected = { diff --git a/core/src/test/java/fi/iki/elonen/HttpHeadRequestTest.java b/core/src/test/java/fi/iki/elonen/HttpHeadRequestTest.java index 8baf22d..4eb3147 100644 --- a/core/src/test/java/fi/iki/elonen/HttpHeadRequestTest.java +++ b/core/src/test/java/fi/iki/elonen/HttpHeadRequestTest.java @@ -48,8 +48,7 @@ public class HttpHeadRequestTest extends HttpServerTest { public void setUp() { super.setUp(); String responseBody = "Success!"; - this.testServer.response = new NanoHTTPD(0) { - }.newFixedLengthResponse(responseBody); + this.testServer.response = NanoHTTPD.newFixedLengthResponse(responseBody); } @Test diff --git a/core/src/test/java/fi/iki/elonen/integration/GZipIntegrationTest.java b/core/src/test/java/fi/iki/elonen/integration/GZipIntegrationTest.java index 4b95481..a278406 100644 --- a/core/src/test/java/fi/iki/elonen/integration/GZipIntegrationTest.java +++ b/core/src/test/java/fi/iki/elonen/integration/GZipIntegrationTest.java @@ -81,7 +81,7 @@ public class GZipIntegrationTest extends IntegrationTestBase<GZipIntegrationTest @Test public void contentEncodingShouldBeAddedToFixedLengthResponses() throws IOException { - testServer.response = testServer.newFixedLengthResponse("This is a test"); + testServer.response = NanoHTTPD.newFixedLengthResponse("This is a test"); HttpGet request = new HttpGet("http://localhost:8192/"); request.addHeader("Accept-encoding", "gzip"); HttpResponse response = httpclient.execute(request); @@ -93,7 +93,7 @@ public class GZipIntegrationTest extends IntegrationTestBase<GZipIntegrationTest @Test public void contentEncodingShouldBeAddedToChunkedResponses() throws IOException { InputStream data = new ByteArrayInputStream("This is a test".getBytes("UTF-8")); - testServer.response = testServer.newChunkedResponse(NanoHTTPD.Response.Status.OK, "text/plain", data); + testServer.response = NanoHTTPD.newChunkedResponse(NanoHTTPD.Response.Status.OK, "text/plain", data); HttpGet request = new HttpGet("http://localhost:8192/"); request.addHeader("Accept-encoding", "gzip"); HttpResponse response = httpclient.execute(request); @@ -104,7 +104,7 @@ public class GZipIntegrationTest extends IntegrationTestBase<GZipIntegrationTest @Test public void shouldFindCorrectAcceptEncodingAmongMany() throws IOException { - testServer.response = testServer.newFixedLengthResponse("This is a test"); + testServer.response = NanoHTTPD.newFixedLengthResponse("This is a test"); HttpGet request = new HttpGet("http://localhost:8192/"); request.addHeader("Accept-encoding", "deflate,gzip"); HttpResponse response = httpclient.execute(request); @@ -115,7 +115,7 @@ public class GZipIntegrationTest extends IntegrationTestBase<GZipIntegrationTest @Test public void contentLengthShouldBeRemovedFromZippedResponses() throws IOException { - testServer.response = testServer.newFixedLengthResponse("This is a test"); + testServer.response = NanoHTTPD.newFixedLengthResponse("This is a test"); HttpGet request = new HttpGet("http://localhost:8192/"); request.addHeader("Accept-encoding", "gzip"); HttpResponse response = httpclient.execute(request); @@ -125,7 +125,7 @@ public class GZipIntegrationTest extends IntegrationTestBase<GZipIntegrationTest @Test public void fixedLengthContentIsEncodedProperly() throws IOException { - testServer.response = testServer.newFixedLengthResponse("This is a test"); + testServer.response = NanoHTTPD.newFixedLengthResponse("This is a test"); HttpGet request = new HttpGet("http://localhost:8192/"); request.addHeader("Accept-encoding", "gzip"); HttpResponse response = new DecompressingHttpClient(httpclient).execute(request); @@ -135,7 +135,7 @@ public class GZipIntegrationTest extends IntegrationTestBase<GZipIntegrationTest @Test public void chunkedContentIsEncodedProperly() throws IOException { InputStream data = new ByteArrayInputStream("This is a test".getBytes("UTF-8")); - testServer.response = testServer.newChunkedResponse(NanoHTTPD.Response.Status.OK, "text/plain", data); + testServer.response = NanoHTTPD.newChunkedResponse(NanoHTTPD.Response.Status.OK, "text/plain", data); HttpGet request = new HttpGet("http://localhost:8192/"); request.addHeader("Accept-encoding", "gzip"); HttpResponse response = new DecompressingHttpClient(httpclient).execute(request); @@ -144,7 +144,7 @@ public class GZipIntegrationTest extends IntegrationTestBase<GZipIntegrationTest @Test public void noGzipWithoutAcceptEncoding() throws IOException { - testServer.response = testServer.newFixedLengthResponse("This is a test"); + testServer.response = NanoHTTPD.newFixedLengthResponse("This is a test"); HttpGet request = new HttpGet("http://localhost:8192/"); HttpResponse response = httpclient.execute(request); Header contentEncoding = response.getFirstHeader("content-encoding"); @@ -154,7 +154,7 @@ public class GZipIntegrationTest extends IntegrationTestBase<GZipIntegrationTest @Test public void contentShouldNotBeGzippedIfContentLengthIsAddedManually() throws IOException { - testServer.response = testServer.newFixedLengthResponse("This is a test"); + testServer.response = NanoHTTPD.newFixedLengthResponse("This is a test"); testServer.response.addHeader("Content-Length", "" + ("This is a test".getBytes("UTF-8").length)); HttpGet request = new HttpGet("http://localhost:8192/"); request.addHeader("Accept-encoding", "gzip"); @@ -8,7 +8,7 @@ </parent> <groupId>org.nanohttpd</groupId> <artifactId>nanohttpd-project</artifactId> - <version>2.2.0-SNAPSHOT</version> + <version>2.2.1-SNAPSHOT</version> <packaging>pom</packaging> <name>NanoHttpd-Project</name> <description>NanoHttpd is a light-weight HTTP server designed for embedding in other applications.</description> 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 @@ <parent> <groupId>org.nanohttpd</groupId> <artifactId>nanohttpd-project</artifactId> - <version>2.2.0-SNAPSHOT</version> + <version>2.2.1-SNAPSHOT</version> </parent> <artifactId>nanohttpd-webserver</artifactId> <packaging>jar</packaging> diff --git a/webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java b/webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java index cd2e9bd..0ddc21c 100644 --- a/webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java +++ b/webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java @@ -386,9 +386,8 @@ public class SimpleWebServer extends NanoHTTPD { return msg.toString(); } - @Override - public Response newFixedLengthResponse(IStatus status, String mimeType, String message) { - Response response = super.newFixedLengthResponse(status, mimeType, message); + public static Response newFixedLengthResponse(IStatus status, String mimeType, String message) { + Response response = NanoHTTPD.newFixedLengthResponse(status, mimeType, message); response.addHeader("Accept-Ranges", "bytes"); return response; } |