63 lines
1.9 KiB
Plaintext
63 lines
1.9 KiB
Plaintext
package greenH5.util;
|
|
|
|
import java.io.IOException;
|
|
|
|
import javax.servlet.Filter;
|
|
import javax.servlet.FilterChain;
|
|
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;
|
|
|
|
/**
|
|
* Servlet Filter implementation class CORSFilter
|
|
*/
|
|
// Enable it for Servlet 3.x implementations
|
|
/* @ WebFilter(asyncSupported = true, urlPatterns = { "/*" }) */
|
|
public class AjaxFilter implements Filter {
|
|
|
|
|
|
/**
|
|
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
|
|
*/
|
|
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain)
|
|
throws IOException, ServletException {
|
|
|
|
HttpServletRequest request = (HttpServletRequest) servletRequest;
|
|
String urlString = request.getRequestURL().toString();
|
|
if (urlString.contains("greenH5/workbench/default.jsp")) {
|
|
return;
|
|
}
|
|
// Authorize (allow) all domains to consume the content
|
|
((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Origin", "*");
|
|
((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Methods","GET, POST");
|
|
((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Headers", "Content-Type,token,u");
|
|
|
|
|
|
String method = request.getMethod();
|
|
// For HTTP OPTIONS verb/method reply with ACCEPTED status code -- per CORS handshake
|
|
if ("OPTIONS".equals(method)) {
|
|
HttpServletResponse resp = (HttpServletResponse) servletResponse;
|
|
resp.setStatus(HttpServletResponse.SC_OK);
|
|
return;
|
|
}
|
|
|
|
// pass the request along the filter chain
|
|
chain.doFilter(request, servletResponse);
|
|
}
|
|
|
|
/**
|
|
* @see Filter#init(FilterConfig)
|
|
*/
|
|
public void init(FilterConfig fConfig) throws ServletException {
|
|
// TODO Auto-generated method stub
|
|
}
|
|
|
|
public void destroy() {
|
|
// TODO Auto-generated method stub
|
|
|
|
}
|
|
|
|
} |