6b4193ef548d491eccef5c62476202dda8e9c798
[netconf.git] / restconf / sal-rest-connector / src / main / resources / WEB-INF / web.xml
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
4     version="3.0">
5
6     <servlet>
7         <servlet-name>JAXRSRestconf</servlet-name>
8         <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
9         <init-param>
10             <param-name>javax.ws.rs.Application</param-name>
11             <param-value>org.opendaylight.netconf.sal.rest.impl.RestconfApplication</param-value>
12         </init-param>
13         <load-on-startup>0</load-on-startup>
14     </servlet>
15
16     <servlet>
17         <servlet-name>Restconf</servlet-name>
18         <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
19         <init-param>
20             <param-name>javax.ws.rs.Application</param-name>
21             <param-value>org.opendaylight.restconf.rest.RestconfApplication</param-value>
22         </init-param>
23         <load-on-startup>1</load-on-startup>
24     </servlet>
25
26     <context-param>
27       <param-name>shiroEnvironmentClass</param-name>
28       <param-value>org.opendaylight.aaa.shiro.web.env.KarafIniWebEnvironment</param-value>
29     </context-param>
30
31     <listener>
32         <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
33     </listener>
34
35     <filter>
36         <filter-name>ShiroFilter</filter-name>
37         <filter-class>org.opendaylight.aaa.shiro.filters.AAAFilter</filter-class>
38     </filter>
39
40     <filter-mapping>
41         <filter-name>ShiroFilter</filter-name>
42         <url-pattern>/*</url-pattern>
43     </filter-mapping>
44
45     <filter>
46         <filter-name>DynamicFilterChain</filter-name>
47         <filter-class>org.opendaylight.aaa.filterchain.filters.CustomFilterAdapter</filter-class>
48     </filter>
49
50     <filter-mapping>
51         <filter-name>DynamicFilterChain</filter-name>
52         <url-pattern>/*</url-pattern>
53     </filter-mapping>
54
55
56     <servlet-mapping>
57         <servlet-name>JAXRSRestconf</servlet-name>
58         <url-pattern>/*</url-pattern>
59     </servlet-mapping>
60
61     <servlet-mapping>
62         <servlet-name>Restconf</servlet-name>
63         <url-pattern>/11/*</url-pattern>
64     </servlet-mapping>
65
66     <filter>
67         <filter-name>GzipFilter</filter-name>
68         <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
69         <init-param>
70             <param-name>mimeTypes</param-name>
71             <param-value>application/xml,application/yang.data+xml,xml,application/json,application/yang.data+json</param-value>
72         </init-param>
73     </filter>
74     <filter-mapping>
75         <filter-name>GzipFilter</filter-name>
76         <url-pattern>/*</url-pattern>
77     </filter-mapping>
78
79     <filter>
80         <filter-name>cross-origin-restconf</filter-name>
81         <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
82         <init-param>
83             <param-name>allowedOrigins</param-name>
84             <param-value>*</param-value>
85         </init-param>
86         <init-param>
87             <param-name>allowedMethods</param-name>
88             <param-value>GET,POST,OPTIONS,DELETE,PUT,HEAD</param-value>
89         </init-param>
90         <init-param>
91             <param-name>allowedHeaders</param-name>
92             <param-value>origin, content-type, accept, authorization</param-value>
93         </init-param>
94         <init-param>
95             <param-name>exposedHeaders</param-name>
96             <param-value>location</param-value>
97         </init-param>
98     </filter>
99     <filter-mapping>
100         <filter-name>cross-origin-restconf</filter-name>
101         <url-pattern>/*</url-pattern>
102     </filter-mapping>
103
104     <security-constraint>
105         <web-resource-collection>
106             <web-resource-name>NB api</web-resource-name>
107             <url-pattern>/*</url-pattern>
108             <http-method>POST</http-method>
109             <http-method>GET</http-method>
110             <http-method>PUT</http-method>
111             <http-method>PATCH</http-method>
112             <http-method>DELETE</http-method>
113             <http-method>HEAD</http-method>
114         </web-resource-collection>
115     </security-constraint>
116
117 </web-app>