-
Type:
Bug
-
Status: Closed
-
Resolution: Won't Fix
-
Affects Version/s: 5.2.3
-
Component/s: ~[Archived] WCM
-
Labels:None
-
Environment:Any
-
Branch Version/s:5.2.x, 5.1.x
The containsHeader calls in the following method always fail:
com.liferay.portlet.PortletResponseImpl.transferHeaders(HttpServletResponse)
Because we do not implement/override containsHeader method in com.liferay.util.servlet.filters.CacheResponse.
Issue:
response.setHeader("headerName", "headerValue");
// This sets the "headerName" header in com.liferay.util.servlet.filters.CacheResponse classe's _headers object
response.containsHeader("headerName");
// This checks whether "headerName" header exists in the org.apache.coyote.Response classes's _headers object
Solution:
Override the containsHeader method in com.liferay.util.servlet.filters.CacheResponse:
public boolean containsHeader(String name) {
boolean hasHeader = false;
if (getHeader(name) != null) {
hasHeader = true;
}
return hasHeader;
}