X-Git-Url: https://juplo.de/gitweb/?p=percentcodec;a=blobdiff_plain;f=cachecontrol%2Fsrc%2Fmain%2Fjava%2Fde%2Fhalbekunst%2Fjuplo%2Fcachecontrol%2FAcceleratorFilter.java;h=f9cd886f6d3c6d5a6fd1a5c58cad33a60c39c589;hp=71c799c3185466ad7b856e6bbaf1c1597fa273d1;hb=5f8def1103a2a408579d1b6ae29e447a272a9558;hpb=61a37d1d42af6c569d61f77f1939af578060aa41 diff --git a/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/AcceleratorFilter.java b/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/AcceleratorFilter.java index 71c799c3..f9cd886f 100644 --- a/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/AcceleratorFilter.java +++ b/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/AcceleratorFilter.java @@ -333,6 +333,7 @@ public class AcceleratorFilter implements Filter { */ response.reset(); pos = 0; + size = 0; stream = null; writer = null; } @@ -649,9 +650,11 @@ public class AcceleratorFilter implements Filter { public void write(int i) throws IOException { if (pos == bufferSize) { out().write(buffer); - pos = 0; committed = true; - cacheControl.decorate(request, response, this); + /** Dekoration nur beim ersten Schreib-Schub anstoßen */ + if (pos == size) + cacheControl.decorate(request, response); + pos = 0; } buffer[pos++] = (byte) i; size++; @@ -663,7 +666,9 @@ public class AcceleratorFilter implements Filter { return; committed = true; - cacheControl.decorate(request, response, this); + /** Dekoration nur beim ersten Schreib-Schub anstoßen */ + if (pos == size) + cacheControl.decorate(request, response); out().write(buffer, 0, pos); out().flush(); pos = 0; @@ -674,7 +679,7 @@ public class AcceleratorFilter implements Filter { if (size == 0) { committed = true; zipped = false; - cacheControl.decorate(request, response, this); + cacheControl.decorate(request, response); sos.close(); } else {