aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorJarno Elonen <elonen@iki.fi>2015-05-17 02:04:14 +0300
committerJarno Elonen <elonen@iki.fi>2015-05-17 02:04:14 +0300
commit256ad3a8699036e58aa0b2e9720dbc1e03b3fcca (patch)
tree3b0333d4f980c537315a0ff0854f991c0b25426b /core
parentaf7a20b9d426d7b5e21eeacc855bf0a7386adb74 (diff)
parentde2bb1bc9fa3959846741e1fd14076971e17b90c (diff)
downloadnanohttpd-256ad3a8699036e58aa0b2e9720dbc1e03b3fcca.tar.gz
Rebase faster-boundary-find
Diffstat (limited to 'core')
-rw-r--r--core/src/main/java/fi/iki/elonen/NanoHTTPD.java9
-rw-r--r--core/src/test/java/fi/iki/elonen/HttpChunkedResponseTest.java2
2 files changed, 8 insertions, 3 deletions
diff --git a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java
index d961e51..b35dc15 100644
--- a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java
+++ b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java
@@ -533,7 +533,11 @@ public abstract class NanoHTTPD {
// followed by HTTP headers. Ignore version but parse headers.
// NOTE: this now forces header names lower case since they are
// case insensitive and vary by client.
- if (!st.hasMoreTokens()) {
+ if (st.hasMoreTokens()) {
+ if (!st.nextToken().equals("HTTP/1.1")) {
+ throw new ResponseException(Response.Status.UNSUPPORTED_HTTP_VERSION, "Only HTTP/1.1 is supported.");
+ }
+ } else {
NanoHTTPD.LOG.log(Level.FINE, "no protocol version specified, strange..");
}
String line = in.readLine();
@@ -1081,7 +1085,8 @@ public abstract class NanoHTTPD {
NOT_FOUND(404, "Not Found"),
METHOD_NOT_ALLOWED(405, "Method Not Allowed"),
RANGE_NOT_SATISFIABLE(416, "Requested Range Not Satisfiable"),
- INTERNAL_ERROR(500, "Internal Server Error");
+ INTERNAL_ERROR(500, "Internal Server Error"),
+ UNSUPPORTED_HTTP_VERSION(505, "HTTP Version Not Supported");
private final int requestStatus;
diff --git a/core/src/test/java/fi/iki/elonen/HttpChunkedResponseTest.java b/core/src/test/java/fi/iki/elonen/HttpChunkedResponseTest.java
index b3113fd..5d06ae4 100644
--- a/core/src/test/java/fi/iki/elonen/HttpChunkedResponseTest.java
+++ b/core/src/test/java/fi/iki/elonen/HttpChunkedResponseTest.java
@@ -89,7 +89,7 @@ public class HttpChunkedResponseTest extends HttpServerTest {
}.newChunkedResponse(OK, "what/ever", pipedInputStream);
this.testServer.response.setChunkedTransfer(true);
- ByteArrayOutputStream byteArrayOutputStream = invokeServer("GET / HTTP/1.0");
+ ByteArrayOutputStream byteArrayOutputStream = invokeServer("GET / HTTP/1.1");
assertResponse(byteArrayOutputStream, expected);
}