From a919b4e916586db3629937cccd1c650673932da3 Mon Sep 17 00:00:00 2001 From: Shawn Biesan <2perdo@gmail.com> Date: Sat, 15 Dec 2018 22:11:31 -0800 Subject: [PATCH] Remove servlet getHeader check and test Fixes: gh-6265 --- .../writers/CacheControlHeadersWriter.java | 12 +-------- .../CacheControlHeadersWriterTests.java | 25 ------------------- 2 files changed, 1 insertion(+), 36 deletions(-) diff --git a/web/src/main/java/org/springframework/security/web/header/writers/CacheControlHeadersWriter.java b/web/src/main/java/org/springframework/security/web/header/writers/CacheControlHeadersWriter.java index 9500e38a7c..1c69745e97 100644 --- a/web/src/main/java/org/springframework/security/web/header/writers/CacheControlHeadersWriter.java +++ b/web/src/main/java/org/springframework/security/web/header/writers/CacheControlHeadersWriter.java @@ -15,7 +15,6 @@ */ package org.springframework.security.web.header.writers; -import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; @@ -25,7 +24,6 @@ import javax.servlet.http.HttpServletResponse; import org.springframework.http.HttpStatus; import org.springframework.security.web.header.Header; import org.springframework.security.web.header.HeaderWriter; -import org.springframework.util.ReflectionUtils; /** * Inserts headers to prevent caching if no cache control headers have been specified. @@ -44,8 +42,6 @@ public final class CacheControlHeadersWriter implements HeaderWriter { private static final String PRAGMA = "Pragma"; private static final String CACHE_CONTROL = "Cache-Control"; - private final Method getHeaderMethod; - private final HeaderWriter delegate; /** @@ -53,8 +49,6 @@ public final class CacheControlHeadersWriter implements HeaderWriter { */ public CacheControlHeadersWriter() { this.delegate = new StaticHeadersWriter(createHeaders()); - this.getHeaderMethod = ReflectionUtils.findMethod(HttpServletResponse.class, - "getHeader", String.class); } @Override @@ -67,11 +61,7 @@ public final class CacheControlHeadersWriter implements HeaderWriter { } private boolean hasHeader(HttpServletResponse response, String headerName) { - if (this.getHeaderMethod == null) { - return false; - } - return ReflectionUtils.invokeMethod(this.getHeaderMethod, response, - headerName) != null; + return response.getHeader(headerName) != null; } private static List
createHeaders() { diff --git a/web/src/test/java/org/springframework/security/web/header/writers/CacheControlHeadersWriterTests.java b/web/src/test/java/org/springframework/security/web/header/writers/CacheControlHeadersWriterTests.java index f774d3b3f0..17a19cff8e 100644 --- a/web/src/test/java/org/springframework/security/web/header/writers/CacheControlHeadersWriterTests.java +++ b/web/src/test/java/org/springframework/security/web/header/writers/CacheControlHeadersWriterTests.java @@ -15,7 +15,6 @@ */ package org.springframework.security.web.header.writers; -import javax.servlet.http.HttpServletResponse; import org.junit.Before; import org.junit.Test; @@ -29,10 +28,6 @@ import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.util.ReflectionUtils; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.anyString; -import static org.mockito.Mockito.doThrow; -import static org.mockito.Mockito.when; -import static org.powermock.api.mockito.PowerMockito.spy; /** * @author Rob Winch @@ -68,26 +63,6 @@ public class CacheControlHeadersWriterTests { .containsOnly("0"); } - @Test - public void writeHeadersServlet25() { - spy(ReflectionUtils.class); - when(ReflectionUtils.findMethod(HttpServletResponse.class, "getHeader", - String.class)).thenReturn(null); - this.response = spy(this.response); - doThrow(NoSuchMethodError.class).when(this.response).getHeader(anyString()); - this.writer = new CacheControlHeadersWriter(); - - this.writer.writeHeaders(this.request, this.response); - - assertThat(this.response.getHeaderNames().size()).isEqualTo(3); - assertThat(this.response.getHeaderValues("Cache-Control")) - .containsOnly("no-cache, no-store, max-age=0, must-revalidate"); - assertThat(this.response.getHeaderValues("Pragma")) - .containsOnly("no-cache"); - assertThat(this.response.getHeaderValues("Expires")) - .containsOnly("0"); - } - // gh-2953 @Test public void writeHeadersDisabledIfCacheControl() {