Skip to content

Commit 67b0778

Browse files
committed
Issue #9777 - CrossOriginFilter does not return Vary header on no-cors mode.
Modified the fix introduced by #9779 to avoid usage of Jetty server classes, so that the CrossOriginFilter can be deployed in any web application. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
1 parent dbb9451 commit 67b0778

File tree

1 file changed

+1
-9
lines changed

1 file changed

+1
-9
lines changed

jetty-servlets/src/main/java/org/eclipse/jetty/servlets/CrossOriginFilter.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,6 @@
3131
import javax.servlet.http.HttpServletRequest;
3232
import javax.servlet.http.HttpServletResponse;
3333

34-
import org.eclipse.jetty.http.HttpField;
35-
import org.eclipse.jetty.http.HttpHeader;
36-
import org.eclipse.jetty.http.PreEncodedHttpField;
37-
import org.eclipse.jetty.server.Response;
3834
import org.eclipse.jetty.util.StringUtil;
3935
import org.slf4j.Logger;
4036
import org.slf4j.LoggerFactory;
@@ -153,7 +149,6 @@ public class CrossOriginFilter implements Filter
153149
private static final List<String> SIMPLE_HTTP_METHODS = Arrays.asList("GET", "POST", "HEAD");
154150
private static final List<String> DEFAULT_ALLOWED_METHODS = Arrays.asList("GET", "POST", "HEAD");
155151
private static final List<String> DEFAULT_ALLOWED_HEADERS = Arrays.asList("X-Requested-With", "Content-Type", "Accept", "Origin");
156-
private static final HttpField VARY_ORIGIN = new PreEncodedHttpField(HttpHeader.VARY, HttpHeader.ORIGIN.asString());
157152

158153
private boolean anyOriginAllowed;
159154
private boolean anyTimingOriginAllowed;
@@ -274,10 +269,7 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
274269

275270
private void handle(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException
276271
{
277-
if (response instanceof Response)
278-
((Response)response).getHttpFields().add(VARY_ORIGIN);
279-
else
280-
response.addHeader(VARY_ORIGIN.getName(), VARY_ORIGIN.getValue());
272+
response.addHeader("Vary", ORIGIN_HEADER);
281273
String origin = request.getHeader(ORIGIN_HEADER);
282274
// Is it a cross origin request ?
283275
if (origin != null && isEnabled(request))

0 commit comments

Comments
 (0)