Skip to content

Instantly share code, notes, and snippets.

@john182
Created November 13, 2017 18:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save john182/ebd1d07e83b93ab4ddebb7b7d3dc8788 to your computer and use it in GitHub Desktop.
Save john182/ebd1d07e83b93ab4ddebb7b7d3dc8788 to your computer and use it in GitHub Desktop.
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class CorsFilter implements Filter {
@Autowired
private ApiProperty apiProperty;
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
HttpServletResponse response = (HttpServletResponse) resp;
response.setHeader("Access-Control-Allow-Origin", apiProperty.getOriginPermitida());
response.setHeader("Access-Control-Allow-Credentials", "true");
if("OPTIONS".equals(request.getMethod())
&& apiProperty.getOriginPermitida().equals(request.getHeader("Origin"))){
response.setHeader("Access-Control-Allow-Methods", "POST, GET, DELETE, PUT, OPTIONS");
response.setHeader("Access-Control-Allow-Headers", "Authorization, Content-Type, Accept");
response.setHeader("Access-Control-Max-Age", "3600");
response.setStatus(HttpServletResponse.SC_OK);
}else{
chain.doFilter(req,resp);
}
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void destroy() {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment