diff options
-rw-r--r-- | core/src/main/java/fi/iki/elonen/NanoHTTPD.java | 11 | ||||
-rw-r--r-- | websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java | 8 |
2 files changed, 17 insertions, 2 deletions
diff --git a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java index 4073521..1c5bcfd 100644 --- a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java +++ b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java @@ -744,7 +744,7 @@ public abstract class NanoHTTPD { String acceptEncoding = this.headers.get("accept-encoding"); this.cookies.unloadQueue(r); r.setRequestMethod(this.method); - r.setGzipEncoding(acceptEncoding != null && acceptEncoding.contains("gzip")); + r.setGzipEncoding(useGzipWhenAccepted() && acceptEncoding != null && acceptEncoding.contains("gzip")); r.setKeepAlive(keepAlive); r.send(this.outputStream); } @@ -1744,6 +1744,14 @@ public abstract class NanoHTTPD { return decoded; } + /** + * @return true if the gzip compression should be used if the client + * accespts it. + */ + protected boolean useGzipWhenAccepted() { + return true; + } + public final int getListeningPort() { return this.myServerSocket == null ? -1 : this.myServerSocket.getLocalPort(); } @@ -1934,5 +1942,4 @@ public abstract class NanoHTTPD { public final boolean wasStarted() { return this.myServerSocket != null && this.myThread != null; } - } diff --git a/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java b/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java index 6701c3c..f5cd259 100644 --- a/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java +++ b/websocket/src/main/java/fi/iki/elonen/NanoWebSocketServer.java @@ -851,4 +851,12 @@ public abstract class NanoWebSocketServer extends NanoHTTPD { return super.serve(session); } } + + /** + * not all websockets implementations accept gzip compression. + */ + @Override + protected boolean useGzipWhenAccepted() { + return false; + } } |