Last active
July 29, 2016 00:22
-
-
Save danmork/bf8c468141fa004298928a1ad9b31746 to your computer and use it in GitHub Desktop.
Prevent ErrorReportValve from squashing HEAD error response
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.servlet.filters | |
import javax.servlet.Filter | |
import javax.servlet.FilterChain | |
import javax.servlet.FilterConfig | |
import javax.servlet.ServletException | |
import javax.servlet.ServletRequest | |
import javax.servlet.ServletResponse | |
public class FlushHeadErrorResponseFilter implements Filter { | |
public void destroy() { | |
} | |
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { | |
chain.doFilter(request, response); | |
if (request.method == null || | |
!request.method.equals("HEAD") || | |
response.status < 400) return | |
// flush the buffer to commit the response | |
// ErrorReportValve will not touch committed responses | |
response.flushBuffer() | |
} | |
public void init(FilterConfig filterConfig) throws ServletException { | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment