Skip to content

Instantly share code, notes, and snippets.

@zhangchengtest
Forked from zeroows/CORSFilter.java
Created May 26, 2016 09:42
Show Gist options
  • Save zhangchengtest/aa5bc1a534fd140d6c40a2af81f7e55e to your computer and use it in GitHub Desktop.
Save zhangchengtest/aa5bc1a534fd140d6c40a2af81f7e55e to your computer and use it in GitHub Desktop.

Revisions

  1. @zeroows zeroows revised this gist Sep 16, 2014. 1 changed file with 15 additions and 0 deletions.
    15 changes: 15 additions & 0 deletions CORSFilter.java
    Original file line number Diff line number Diff line change
    @@ -14,6 +14,19 @@
    /**
    * Enabling CORS support - Access-Control-Allow-Origin
    * @author [email protected]
    *
    * <code>
    <!-- Add this to your web.xml to enable "CORS" -->
    <filter>
    <filter-name>cors</filter-name>
    <filter-class>com.elm.mb.rest.filters.CORSFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>cors</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    * </code>
    */
    public class CORSFilter extends OncePerRequestFilter {
    private static final Log LOG = LogFactory.getLog(CORSFilter.class);
    @@ -35,3 +48,5 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse
    }

    }


  2. @zeroows zeroows created this gist Sep 16, 2014.
    37 changes: 37 additions & 0 deletions CORSFilter.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    package com.elm.mb.rest.filters;

    import java.io.IOException;

    import javax.servlet.FilterChain;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.springframework.web.filter.OncePerRequestFilter;

    /**
    * Enabling CORS support - Access-Control-Allow-Origin
    * @author [email protected]
    */
    public class CORSFilter extends OncePerRequestFilter {
    private static final Log LOG = LogFactory.getLog(CORSFilter.class);

    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
    response.addHeader("Access-Control-Allow-Origin", "*");

    if (request.getHeader("Access-Control-Request-Method") != null && "OPTIONS".equals(request.getMethod())) {
    LOG.trace("Sending Header....");
    // CORS "pre-flight" request
    response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
    // response.addHeader("Access-Control-Allow-Headers", "Authorization");
    response.addHeader("Access-Control-Allow-Headers", "Content-Type");
    response.addHeader("Access-Control-Max-Age", "1");
    }

    filterChain.doFilter(request, response);
    }

    }