Skip to content

Commit 2a1f3f6

Browse files
committed
Remove Package Tangle in HeaderWriterFilter
Fixes gh-7380
1 parent b5cbab0 commit 2a1f3f6

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

web/src/main/java/org/springframework/security/web/header/HeaderWriterFilter.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import javax.servlet.http.HttpServletRequestWrapper;
2828
import javax.servlet.http.HttpServletResponse;
2929

30-
import org.springframework.security.web.header.writers.CompositeHeaderWriter;
3130
import org.springframework.security.web.util.OnCommittedResponseWrapper;
3231
import org.springframework.util.Assert;
3332
import org.springframework.web.filter.OncePerRequestFilter;
@@ -49,7 +48,7 @@ public class HeaderWriterFilter extends OncePerRequestFilter {
4948
* The {@link HeaderWriter} to write headers to the response.
5049
* {@see CompositeHeaderWriter}
5150
*/
52-
private final HeaderWriter headerWriter;
51+
private final List<HeaderWriter> headerWriters;
5352

5453
/**
5554
* Indicates whether to write the headers at the beginning of the request.
@@ -64,7 +63,7 @@ public class HeaderWriterFilter extends OncePerRequestFilter {
6463
*/
6564
public HeaderWriterFilter(List<HeaderWriter> headerWriters) {
6665
Assert.notEmpty(headerWriters, "headerWriters cannot be null or empty");
67-
this.headerWriter = new CompositeHeaderWriter(headerWriters);
66+
this.headerWriters = headerWriters;
6867
}
6968

7069
@Override
@@ -80,13 +79,13 @@ protected void doFilterInternal(HttpServletRequest request,
8079
}
8180

8281
private void doHeadersBefore(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws IOException, ServletException {
83-
this.headerWriter.writeHeaders(request, response);
82+
writeHeaders(request, response);
8483
filterChain.doFilter(request, response);
8584
}
8685

8786
private void doHeadersAfter(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws IOException, ServletException {
8887
HeaderWriterResponse headerWriterResponse = new HeaderWriterResponse(request,
89-
response, this.headerWriter);
88+
response);
9089
HeaderWriterRequest headerWriterRequest = new HeaderWriterRequest(request,
9190
headerWriterResponse);
9291
try {
@@ -96,6 +95,12 @@ private void doHeadersAfter(HttpServletRequest request, HttpServletResponse resp
9695
}
9796
}
9897

98+
void writeHeaders(HttpServletRequest request, HttpServletResponse response) {
99+
for (HeaderWriter writer : this.headerWriters) {
100+
writer.writeHeaders(request, response);
101+
}
102+
}
103+
99104
/**
100105
* Allow writing headers at the beginning of the request.
101106
*
@@ -107,15 +112,12 @@ public void setShouldWriteHeadersEagerly(boolean shouldWriteHeadersEagerly) {
107112
this.shouldWriteHeadersEagerly = shouldWriteHeadersEagerly;
108113
}
109114

110-
static class HeaderWriterResponse extends OnCommittedResponseWrapper {
115+
class HeaderWriterResponse extends OnCommittedResponseWrapper {
111116
private final HttpServletRequest request;
112-
private final HeaderWriter headerWriter;
113117

114-
HeaderWriterResponse(HttpServletRequest request, HttpServletResponse response,
115-
HeaderWriter headerWriter) {
118+
HeaderWriterResponse(HttpServletRequest request, HttpServletResponse response) {
116119
super(response);
117120
this.request = request;
118-
this.headerWriter = headerWriter;
119121
}
120122

121123
/*
@@ -134,7 +136,7 @@ protected void writeHeaders() {
134136
if (isDisableOnResponseCommitted()) {
135137
return;
136138
}
137-
this.headerWriter.writeHeaders(this.request, getHttpResponse());
139+
HeaderWriterFilter.this.writeHeaders(this.request, getHttpResponse());
138140
}
139141

140142
private HttpServletResponse getHttpResponse() {

0 commit comments

Comments
 (0)