Advertisement
Solmyr

Untitled

Jun 21st, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.85 KB | None | 0 0
  1. package cz.bcas.fp5.application.rest.filters.cors;
  2.  
  3.  
  4. import javax.servlet.*;
  5. import javax.servlet.annotation.WebFilter;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8. import java.io.IOException;
  9.  
  10. /**
  11.  * Restovy filter ktery pridava CORS hlavicky.
  12.  */
  13. @WebFilter(asyncSupported = true, urlPatterns = {"/api/frontend/*"})
  14. public class CORSFilter implements Filter {
  15.  
  16.     /**
  17.      * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
  18.      */
  19.     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain)
  20.             throws IOException, ServletException {
  21.  
  22.         HttpServletRequest request = (HttpServletRequest) servletRequest;
  23.  
  24.         // Authorize (allow) all domains to consume the content
  25.         ((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Origin", "*");
  26.         ((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Methods", "GET, OPTIONS, HEAD, PUT, POST");
  27.         ((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
  28.  
  29.  
  30.         HttpServletResponse resp = (HttpServletResponse) servletResponse;
  31.  
  32.         // For HTTP OPTIONS verb/method reply with ACCEPTED status code -- per CORS handshake
  33.         if (request.getMethod().equals("OPTIONS")) {
  34.             resp.setStatus(HttpServletResponse.SC_ACCEPTED);
  35.             return;
  36.         }
  37.  
  38.         // pass the request along the filter chain
  39.         chain.doFilter(request, servletResponse);
  40.     }
  41.  
  42.     @Override
  43.     public void destroy() {
  44.         //neni potreba
  45.     }
  46.  
  47.     /**
  48.      * @see Filter#init(FilterConfig)
  49.      */
  50.     public void init(FilterConfig fConfig) throws ServletException {
  51.         //neni potreba
  52.     }
  53.  
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement