1 package org.onap.vid.controller.filter;
3 import org.apache.commons.lang3.StringUtils;
4 import org.openecomp.portalsdk.core.util.SystemProperties;
5 import org.springframework.web.filter.GenericFilterBean;
7 import javax.servlet.FilterChain;
8 import javax.servlet.ServletException;
9 import javax.servlet.ServletRequest;
10 import javax.servlet.ServletResponse;
11 import javax.servlet.annotation.WebFilter;
12 import javax.servlet.http.HttpServletResponse;
13 import java.io.IOException;
15 @WebFilter(urlPatterns = "/*")
16 public class TempFilterForCORS extends GenericFilterBean {
18 private static final String ENV_MODE = "env.mode";
19 private Boolean devMode = null;
21 //dev mode is initialized here since @WebFilter doesn't support @Autowired
22 //So we are sure that SystemProperties bean was initialed only after the first call to doFilter
23 private boolean isDevMode() {
28 if (!SystemProperties.containsProperty(ENV_MODE)) {
29 devMode = Boolean.FALSE;
33 String envMode = SystemProperties.getProperty(ENV_MODE);
34 devMode = StringUtils.equalsIgnoreCase(envMode, "dev") ;
40 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
42 if (isDevMode() && response instanceof HttpServletResponse) {
43 ((HttpServletResponse) response).addHeader("Access-Control-Allow-Origin", "http://localhost:3000");
44 ((HttpServletResponse) response).addHeader("Access-Control-Allow-Credentials", "true");
46 chain.doFilter(request, response);