Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cz.bcas.fp5.application.rest.filters.cors;
- import javax.servlet.*;
- import javax.servlet.annotation.WebFilter;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- /**
- * Restovy filter ktery pridava CORS hlavicky.
- */
- @WebFilter(asyncSupported = true, urlPatterns = {"/api/frontend/*"})
- public class CORSFilter implements Filter {
- /**
- * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
- */
- public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain)
- throws IOException, ServletException {
- HttpServletRequest request = (HttpServletRequest) servletRequest;
- // Authorize (allow) all domains to consume the content
- ((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Origin", "*");
- ((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Methods", "GET, OPTIONS, HEAD, PUT, POST");
- ((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
- HttpServletResponse resp = (HttpServletResponse) servletResponse;
- // For HTTP OPTIONS verb/method reply with ACCEPTED status code -- per CORS handshake
- if (request.getMethod().equals("OPTIONS")) {
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- return;
- }
- // pass the request along the filter chain
- chain.doFilter(request, servletResponse);
- }
- @Override
- public void destroy() {
- //neni potreba
- }
- /**
- * @see Filter#init(FilterConfig)
- */
- public void init(FilterConfig fConfig) throws ServletException {
- //neni potreba
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement