فهرست منبع

Remove servlet getHeader check and test

Fixes: gh-6265
Shawn Biesan 6 سال پیش
والد
کامیت
a919b4e916

+ 1 - 11
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<Header> createHeaders() {

+ 0 - 25
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() {