91cc731d0dd10dc25f6982a9a623cadbf354f258
[ccsdk/cds.git] /
1 /*\r
2  *  Copyright © 2017-2018 AT&T Intellectual Property.\r
3  *\r
4  *  Licensed under the Apache License, Version 2.0 (the "License");\r
5  *  you may not use this file except in compliance with the License.\r
6  *  You may obtain a copy of the License at\r
7  *\r
8  *      http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  *  Unless required by applicable law or agreed to in writing, software\r
11  *  distributed under the License is distributed on an "AS IS" BASIS,\r
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  *  See the License for the specific language governing permissions and\r
14  *  limitations under the License.\r
15  */\r
16 \r
17 package org.onap.ccsdk.apps.controllerblueprints.filters;\r
18 \r
19 import org.springframework.http.HttpMethod;\r
20 import org.springframework.stereotype.Component;\r
21 import javax.servlet.*;\r
22 import javax.servlet.annotation.WebFilter;\r
23 import javax.servlet.http.HttpServletRequest;\r
24 import javax.servlet.http.HttpServletResponse;\r
25 import java.io.IOException;\r
26 /**\r
27  * CorsFilter.java Purpose: Provide Configuration Generator CorsFilter Information\r
28  *\r
29  * @author Brinda Santh\r
30  */\r
31 @Component\r
32 @WebFilter(asyncSupported = true, urlPatterns = {"/*"})\r
33 @SuppressWarnings("unused")\r
34 public class CorsFilter implements Filter {\r
35 \r
36     public void destroy() {\r
37     }\r
38 \r
39     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain)\r
40             throws IOException, ServletException {\r
41 \r
42         HttpServletRequest request = (HttpServletRequest) servletRequest;\r
43         HttpServletResponse response = (HttpServletResponse) servletResponse;\r
44 \r
45         response.addHeader("Access-Control-Allow-Origin", "*");\r
46         response.addHeader("Access-Control-Allow-Methods", "*");\r
47         response.addHeader("Access-Control-Allow-Headers",\r
48                 "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range");\r
49 \r
50         if (request.getMethod().equals(HttpMethod.OPTIONS.toString())) {\r
51             response.addHeader("Access-Control-Max-Age", "1728000");\r
52             response.setStatus(HttpServletResponse.SC_ACCEPTED);\r
53             return;\r
54         }\r
55         chain.doFilter(request, servletResponse);\r
56     }\r
57 \r
58     public void init(FilterConfig fConfig) throws ServletException {\r
59     }\r
60 \r
61 }