From 9a618dc7a1527ac02fff9fd1385a277ebd3736ed Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Sun, 19 Jul 2020 19:53:29 +0200 Subject: [PATCH] Enforce ConditionalContentCachingResponseWrapper in ShallowEtagHeaderFilter Closes gh-24976 --- .../web/filter/ShallowEtagHeaderFilter.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/web/filter/ShallowEtagHeaderFilter.java b/spring-web/src/main/java/org/springframework/web/filter/ShallowEtagHeaderFilter.java index fb7abfeb8ed8..6ef912a0bf70 100644 --- a/spring-web/src/main/java/org/springframework/web/filter/ShallowEtagHeaderFilter.java +++ b/spring-web/src/main/java/org/springframework/web/filter/ShallowEtagHeaderFilter.java @@ -99,7 +99,7 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse throws ServletException, IOException { HttpServletResponse responseToUse = response; - if (!isAsyncDispatch(request) && !(response instanceof ContentCachingResponseWrapper)) { + if (!isAsyncDispatch(request) && !(response instanceof ConditionalContentCachingResponseWrapper)) { responseToUse = new ConditionalContentCachingResponseWrapper(response, request); } @@ -111,10 +111,8 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse } private void updateResponse(HttpServletRequest request, HttpServletResponse response) throws IOException { - - ContentCachingResponseWrapper wrapper = - WebUtils.getNativeResponse(response, ContentCachingResponseWrapper.class); - + ConditionalContentCachingResponseWrapper wrapper = + WebUtils.getNativeResponse(response, ConditionalContentCachingResponseWrapper.class); Assert.notNull(wrapper, "ContentCachingResponseWrapper not found"); HttpServletResponse rawResponse = (HttpServletResponse) wrapper.getResponse(); @@ -219,7 +217,6 @@ private static class ConditionalContentCachingResponseWrapper extends ContentCac private final HttpServletRequest request; - ConditionalContentCachingResponseWrapper(HttpServletResponse response, HttpServletRequest request) { super(response); this.request = request;