package org.dicadeveloper.weplantaforest; 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.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; import lombok.NonNull; @Component @Order(Ordered.HIGHEST_PRECEDENCE) class CorsFilter implements Filter { @Autowired private @NonNull Environment _env; @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; response.setHeader("Access-Control-Allow-Origin", _env.getProperty("ipat.host")); response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Allow-Headers", "X-AUTH-TOKEN, Content-Type"); response.setHeader("Access-Control-Expose-Headers", "X-AUTH-TOKEN"); response.setHeader("Access-Control-Max-Age", "3600"); chain.doFilter(req, res); } @Override public void init(FilterConfig filterConfig) { } @Override public void destroy() { } }