Split Restconf implementations (draft02 and RFC) - Application
[netconf.git] / restconf / restconf-nb-rfc8040 / 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>Restconf</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.restconf.nb.rfc8040.RestconfApplication</param-value>
12         </init-param>
13         <load-on-startup>1</load-on-startup>
14     </servlet>
15
16     <context-param>
17       <param-name>shiroEnvironmentClass</param-name>
18       <param-value>org.opendaylight.aaa.shiro.web.env.KarafIniWebEnvironment</param-value>
19     </context-param>
20
21     <listener>
22         <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
23     </listener>
24
25     <filter>
26         <filter-name>ShiroFilter</filter-name>
27         <filter-class>org.opendaylight.aaa.shiro.filters.AAAFilter</filter-class>
28     </filter>
29
30     <filter-mapping>
31         <filter-name>ShiroFilter</filter-name>
32         <url-pattern>/*</url-pattern>
33     </filter-mapping>
34
35     <filter>
36         <filter-name>DynamicFilterChain</filter-name>
37         <filter-class>org.opendaylight.aaa.filterchain.filters.CustomFilterAdapter</filter-class>
38     </filter>
39
40     <filter-mapping>
41         <filter-name>DynamicFilterChain</filter-name>
42         <url-pattern>/*</url-pattern>
43     </filter-mapping>
44
45     <servlet-mapping>
46         <servlet-name>Restconf NB - RFC 8040</servlet-name>
47         <url-pattern>/*</url-pattern>
48     </servlet-mapping>
49
50     <filter>
51         <filter-name>GzipFilter</filter-name>
52         <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
53         <init-param>
54             <param-name>mimeTypes</param-name>
55             <param-value>application/xml,application/yang.data+xml,xml,application/json,application/yang.data+json</param-value>
56         </init-param>
57     </filter>
58     <filter-mapping>
59         <filter-name>GzipFilter</filter-name>
60         <url-pattern>/*</url-pattern>
61     </filter-mapping>
62
63     <filter>
64         <filter-name>cross-origin-restconf</filter-name>
65         <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
66         <init-param>
67             <param-name>allowedOrigins</param-name>
68             <param-value>*</param-value>
69         </init-param>
70         <init-param>
71             <param-name>allowedMethods</param-name>
72             <param-value>GET,POST,OPTIONS,DELETE,PUT,HEAD</param-value>
73         </init-param>
74         <init-param>
75             <param-name>allowedHeaders</param-name>
76             <param-value>origin, content-type, accept, authorization</param-value>
77         </init-param>
78         <init-param>
79             <param-name>exposedHeaders</param-name>
80             <param-value>location</param-value>
81         </init-param>
82     </filter>
83     <filter-mapping>
84         <filter-name>cross-origin-restconf</filter-name>
85         <url-pattern>/*</url-pattern>
86     </filter-mapping>
87
88     <security-constraint>
89         <web-resource-collection>
90             <web-resource-name>NB RFC api</web-resource-name>
91             <url-pattern>/*</url-pattern>
92             <http-method>POST</http-method>
93             <http-method>GET</http-method>
94             <http-method>PUT</http-method>
95             <http-method>PATCH</http-method>
96             <http-method>DELETE</http-method>
97             <http-method>HEAD</http-method>
98         </web-resource-collection>
99     </security-constraint>
100
101 </web-app>