Skip to content

Commit a919b4e

Browse files
Shawn Biesanjzheaux
Shawn Biesan
authored andcommitted
Remove servlet getHeader check and test
Fixes: gh-6265
1 parent 9c7cab8 commit a919b4e

File tree

2 files changed

+1
-36
lines changed

2 files changed

+1
-36
lines changed

web/src/main/java/org/springframework/security/web/header/writers/CacheControlHeadersWriter.java

+1-11
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package org.springframework.security.web.header.writers;
1717

18-
import java.lang.reflect.Method;
1918
import java.util.ArrayList;
2019
import java.util.List;
2120

@@ -25,7 +24,6 @@
2524
import org.springframework.http.HttpStatus;
2625
import org.springframework.security.web.header.Header;
2726
import org.springframework.security.web.header.HeaderWriter;
28-
import org.springframework.util.ReflectionUtils;
2927

3028
/**
3129
* Inserts headers to prevent caching if no cache control headers have been specified.
@@ -44,17 +42,13 @@ public final class CacheControlHeadersWriter implements HeaderWriter {
4442
private static final String PRAGMA = "Pragma";
4543
private static final String CACHE_CONTROL = "Cache-Control";
4644

47-
private final Method getHeaderMethod;
48-
4945
private final HeaderWriter delegate;
5046

5147
/**
5248
* Creates a new instance
5349
*/
5450
public CacheControlHeadersWriter() {
5551
this.delegate = new StaticHeadersWriter(createHeaders());
56-
this.getHeaderMethod = ReflectionUtils.findMethod(HttpServletResponse.class,
57-
"getHeader", String.class);
5852
}
5953

6054
@Override
@@ -67,11 +61,7 @@ public void writeHeaders(HttpServletRequest request, HttpServletResponse respons
6761
}
6862

6963
private boolean hasHeader(HttpServletResponse response, String headerName) {
70-
if (this.getHeaderMethod == null) {
71-
return false;
72-
}
73-
return ReflectionUtils.invokeMethod(this.getHeaderMethod, response,
74-
headerName) != null;
64+
return response.getHeader(headerName) != null;
7565
}
7666

7767
private static List<Header> createHeaders() {

web/src/test/java/org/springframework/security/web/header/writers/CacheControlHeadersWriterTests.java

-25
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package org.springframework.security.web.header.writers;
1717

18-
import javax.servlet.http.HttpServletResponse;
1918

2019
import org.junit.Before;
2120
import org.junit.Test;
@@ -29,10 +28,6 @@
2928
import org.springframework.util.ReflectionUtils;
3029

3130
import static org.assertj.core.api.Assertions.assertThat;
32-
import static org.mockito.Matchers.anyString;
33-
import static org.mockito.Mockito.doThrow;
34-
import static org.mockito.Mockito.when;
35-
import static org.powermock.api.mockito.PowerMockito.spy;
3631

3732
/**
3833
* @author Rob Winch
@@ -68,26 +63,6 @@ public void writeHeaders() {
6863
.containsOnly("0");
6964
}
7065

71-
@Test
72-
public void writeHeadersServlet25() {
73-
spy(ReflectionUtils.class);
74-
when(ReflectionUtils.findMethod(HttpServletResponse.class, "getHeader",
75-
String.class)).thenReturn(null);
76-
this.response = spy(this.response);
77-
doThrow(NoSuchMethodError.class).when(this.response).getHeader(anyString());
78-
this.writer = new CacheControlHeadersWriter();
79-
80-
this.writer.writeHeaders(this.request, this.response);
81-
82-
assertThat(this.response.getHeaderNames().size()).isEqualTo(3);
83-
assertThat(this.response.getHeaderValues("Cache-Control"))
84-
.containsOnly("no-cache, no-store, max-age=0, must-revalidate");
85-
assertThat(this.response.getHeaderValues("Pragma"))
86-
.containsOnly("no-cache");
87-
assertThat(this.response.getHeaderValues("Expires"))
88-
.containsOnly("0");
89-
}
90-
9166
// gh-2953
9267
@Test
9368
public void writeHeadersDisabledIfCacheControl() {

0 commit comments

Comments
 (0)