Remove servlet getHeader check and test

Fixes: gh-6265
This commit is contained in:
Shawn Biesan 2018-12-15 22:11:31 -08:00 committed by Josh Cummings
parent 9c7cab835f
commit a919b4e916
2 changed files with 1 additions and 36 deletions

View File

@ -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() {

View File

@ -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() {