import org.springframework.beans.factory.annotation.Autowire;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Configurable;
+import org.springframework.beans.factory.annotation.Qualifier;
@Autowired CacheControl cacheControl;
- @Autowired(required=false) Integer defaultBufferSize = DEFAULT_BUFFER_SIZE;
+ @Autowired(required=false) @Qualifier("defaultBufferSize") Integer defaultBufferSize = DEFAULT_BUFFER_SIZE;
@Autowired String eTag;
@Autowired Boolean weak;
@Autowired Long lastModified;
return;
}
- // TODO: Das macht so wahrscheinlich keinen Sinn...
- /** Prüfen, ob es sich um eine Anfrage für einen JSP-Include handelt */
- if (request.getAttribute(REQUEST_URI_ATTRIBUTE) != null) {
- log.debug("Includes cannot be accelerated");
- chain.doFilter(request, response);
- return;
- }
-
HttpServletRequest httpRequest = (HttpServletRequest)request;
HttpServletResponse httpResponse = (HttpServletResponse)response;
AccelerationWrapper wrapper = new AccelerationWrapper(httpRequest, httpResponse);
*/
response.reset();
pos = 0;
+ size = 0;
stream = null;
writer = null;
}
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++;
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;
if (size == 0) {
committed = true;
zipped = false;
- cacheControl.decorate(request, response, this);
+ cacheControl.decorate(request, response);
sos.close();
}
else {