aboutsummaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorJarno Elonen <elonen@iki.fi>2015-06-26 01:09:03 +0300
committerJarno Elonen <elonen@iki.fi>2015-06-26 01:09:14 +0300
commitddb266b3d98e6430cd892b62525d2b5eee1473b7 (patch)
tree1a5a0520e5db36242c7a0829b56a80bb0a34e360 /core/src
parentb62c42cafe8449333e3a96c68309a57866f28c09 (diff)
downloadnanohttpd-ddb266b3d98e6430cd892b62525d2b5eee1473b7.tar.gz
Compress mime type text/* by default. Closes #196
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/java/fi/iki/elonen/NanoHTTPD.java9
-rw-r--r--core/src/test/java/fi/iki/elonen/integration/GZipIntegrationTest.java2
2 files changed, 6 insertions, 5 deletions
diff --git a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java
index aa7df99..ef42bf5 100644
--- a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java
+++ b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java
@@ -745,7 +745,7 @@ public abstract class NanoHTTPD {
String acceptEncoding = this.headers.get("accept-encoding");
this.cookies.unloadQueue(r);
r.setRequestMethod(this.method);
- r.setGzipEncoding(useGzipWhenAccepted() && acceptEncoding != null && acceptEncoding.contains("gzip"));
+ r.setGzipEncoding(useGzipWhenAccepted(r) && acceptEncoding != null && acceptEncoding.contains("gzip"));
r.setKeepAlive(keepAlive);
r.send(this.outputStream);
}
@@ -1748,10 +1748,11 @@ public abstract class NanoHTTPD {
/**
* @return true if the gzip compression should be used if the client
- * accespts it. Default this option is tuned off.
+ * accespts it. Default this option is on for text content and off
+ * for everything else.
*/
- protected boolean useGzipWhenAccepted() {
- return false;
+ protected boolean useGzipWhenAccepted(Response r) {
+ return r.getMimeType() != null && r.getMimeType().toLowerCase().contains("text/");
}
public final int getListeningPort() {
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 de38ece..4b95481 100644
--- a/core/src/test/java/fi/iki/elonen/integration/GZipIntegrationTest.java
+++ b/core/src/test/java/fi/iki/elonen/integration/GZipIntegrationTest.java
@@ -69,7 +69,7 @@ public class GZipIntegrationTest extends IntegrationTestBase<GZipIntegrationTest
}
@Override
- protected boolean useGzipWhenAccepted() {
+ protected boolean useGzipWhenAccepted(Response r) {
return true;
}
}