import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.juli.logging.Log;
import org.apache.tomcat.util.IntrospectionUtils;
import org.apache.tomcat.util.res.StringManager;
/**
- * Base class for filters that provide some utility methods.
+ * Base class for filters that provides generic initialisation and a simple
+ * no-op destruction.
*
* @author xxd
*
protected static final StringManager sm =
StringManager.getManager(Constants.Package);
+ protected abstract Log getLogger();
+
public void init(FilterConfig filterConfig) throws ServletException {
Enumeration<String> paramNames = filterConfig.getInitParameterNames();
while (paramNames.hasMoreElements()) {
}
}
- /**
- * Whether the request object is an HttpServletRequest or not.
- *
- * @param request
- * @return
- */
- protected boolean isHttpServletRequest(ServletRequest request) {
- return request instanceof HttpServletRequest;
- }
-
- /**
- * Whether the response object is an HttpServletResponse or not.
- *
- * @param response
- * @return
- */
- protected boolean isHttpServletResponse(ServletResponse response) {
- return response instanceof HttpServletResponse;
+ @Override
+ public void destroy() {
+ // NOOP
}
- /**
- * Whether the corresponding Servlet is an HttpServlet or not.
- *
- * @param request
- * @param response
- * @return
- */
- protected boolean isHttpServlet(ServletRequest request,
- ServletResponse response) {
- return isHttpServletRequest(request) && isHttpServletResponse(response);
- }
-
- protected abstract Log getLogger();
-
}
// --------------------------------------------------------- Public Methods
- /* (non-Javadoc)
- * @see javax.servlet.Filter#destroy()
- */
- public void destroy() {
- // NOOP
- }
-
/**
* Extract the desired request property, and pass it (along with the
* specified request and response objects) to the protected
if (isAllowed(property)) {
chain.doFilter(request, response);
} else {
- if (isHttpServletResponse(response)) {
+ if (response instanceof HttpServletResponse) {
((HttpServletResponse) response)
.sendError(HttpServletResponse.SC_FORBIDDEN);
} else {