You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
188 lines
6.3 KiB
188 lines
6.3 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
|
|
-->
|
|
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
|
|
<context-param>
|
|
<param-name>contextConfigLocation</param-name>
|
|
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
|
|
</context-param>
|
|
<context-param>
|
|
<param-name>org.apache.tomcat.websocket.textBufferSize</param-name>
|
|
<param-value>1048576</param-value> <!-- 1MB by default -->
|
|
</context-param>
|
|
<listener>
|
|
<listener-class>org.apache.openmeetings.util.OMContextListener</listener-class>
|
|
</listener>
|
|
|
|
<filter>
|
|
<filter-name>OpenmeetingsApplication</filter-name>
|
|
<filter-class>org.apache.wicket.protocol.ws.javax.JavaxWebSocketFilter</filter-class>
|
|
<async-supported>true</async-supported>
|
|
<init-param>
|
|
<param-name>applicationClassName</param-name>
|
|
<param-value>org.apache.openmeetings.web.app.Application</param-value>
|
|
</init-param>
|
|
<init-param>
|
|
<param-name>applicationFactoryClassName</param-name>
|
|
<param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value>
|
|
</init-param>
|
|
<init-param>
|
|
<param-name>configuration</param-name>
|
|
<param-value>DEPLOYMENT</param-value>
|
|
</init-param>
|
|
<init-param>
|
|
<param-name>ignorePaths</param-name>
|
|
<param-value>css,docs,images,js,persistence,public,screenshare,data,services</param-value>
|
|
</init-param>
|
|
</filter>
|
|
<filter>
|
|
<filter-name>CorsFilter</filter-name>
|
|
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
|
|
<init-param>
|
|
<param-name>cors.allowOrigin</param-name>
|
|
<param-value>*</param-value>
|
|
</init-param>
|
|
<init-param>
|
|
<param-name>cors.supportedMethods</param-name>
|
|
<param-value>GET, POST, HEAD, PUT, DELETE</param-value>
|
|
</init-param>
|
|
<init-param>
|
|
<param-name>cors.supportedHeaders</param-name>
|
|
<param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>
|
|
</init-param>
|
|
<init-param>
|
|
<param-name>cors.exposedHeaders</param-name>
|
|
<param-value>Set-Cookie</param-value>
|
|
</init-param>
|
|
<init-param>
|
|
<param-name>cors.supportsCredentials</param-name>
|
|
<param-value>true</param-value>
|
|
</init-param>
|
|
</filter>
|
|
<filter-mapping>
|
|
<filter-name>CorsFilter</filter-name>
|
|
<url-pattern>/*</url-pattern>
|
|
</filter-mapping>
|
|
<!-- Start Prometheus Filter HTTP Servlet metrics
|
|
<filter>
|
|
<filter-name>prometheusFilter</filter-name>
|
|
<filter-class>io.prometheus.client.filter.MetricsFilter</filter-class>
|
|
<init-param>
|
|
<param-name>metric-name</param-name>
|
|
<param-value>webapp_metrics_filter</param-value>
|
|
</init-param>
|
|
<init-param>
|
|
<param-name>help</param-name>
|
|
<param-value>This is the help for your metrics filter</param-value>
|
|
</init-param>
|
|
<init-param>
|
|
<param-name>buckets</param-name>
|
|
<param-value>0.005,0.01,0.025,0.05,0.075,0.1,0.25,0.5,0.75,1,2.5,5,7.5,10</param-value>
|
|
</init-param>
|
|
<init-param>
|
|
<param-name>path-components</param-name>
|
|
<param-value>0</param-value>
|
|
</init-param>
|
|
</filter>
|
|
|
|
<filter-mapping>
|
|
<filter-name>prometheusFilter</filter-name>
|
|
<url-pattern>/*</url-pattern>
|
|
</filter-mapping>
|
|
End Prometheus -->
|
|
|
|
<filter-mapping>
|
|
<filter-name>OpenmeetingsApplication</filter-name>
|
|
<url-pattern>/*</url-pattern>
|
|
</filter-mapping>
|
|
|
|
<listener>
|
|
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
|
|
</listener>
|
|
|
|
<servlet>
|
|
<servlet-name>CXFServlet</servlet-name>
|
|
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
|
|
<init-param>
|
|
<param-name>config-location</param-name>
|
|
<param-value>classpath:cxf-servlet.xml</param-value>
|
|
</init-param>
|
|
<load-on-startup>1</load-on-startup>
|
|
<async-supported>true</async-supported>
|
|
</servlet>
|
|
<servlet-mapping>
|
|
<servlet-name>CXFServlet</servlet-name>
|
|
<url-pattern>/services/*</url-pattern>
|
|
</servlet-mapping>
|
|
|
|
<!-- Start Prometheus export metrics HTTP
|
|
<servlet>
|
|
<servlet-name>metrics</servlet-name>
|
|
<servlet-class>org.apache.openmeetings.web.util.logging.OpenMeetingsMetricsServlet</servlet-class>
|
|
</servlet>
|
|
<servlet-mapping>
|
|
<servlet-name>metrics</servlet-name>
|
|
<url-pattern>/services/metrics/</url-pattern>
|
|
</servlet-mapping>
|
|
End Prometheus -->
|
|
|
|
<mime-mapping>
|
|
<extension>inc</extension>
|
|
<mime-type>text/plain</mime-type>
|
|
</mime-mapping>
|
|
|
|
<security-constraint>
|
|
<web-resource-collection>
|
|
<web-resource-name>Allowed methods</web-resource-name>
|
|
<url-pattern>/services/*</url-pattern>
|
|
<http-method-omission>TRACE</http-method-omission>
|
|
<http-method-omission>HEAD</http-method-omission>
|
|
</web-resource-collection>
|
|
<web-resource-collection>
|
|
<web-resource-name>Allowed methods</web-resource-name>
|
|
<url-pattern>/*</url-pattern>
|
|
<http-method>GET</http-method>
|
|
<http-method>POST</http-method>
|
|
</web-resource-collection>
|
|
<!-- no auth-constraint means everybody allowed -->
|
|
</security-constraint>
|
|
<security-constraint>
|
|
<web-resource-collection>
|
|
<web-resource-name>Forbidden</web-resource-name>
|
|
<url-pattern>/data/*</url-pattern>
|
|
</web-resource-collection>
|
|
<web-resource-collection>
|
|
<web-resource-name>Forbidden</web-resource-name>
|
|
<url-pattern>/services/*</url-pattern>
|
|
<http-method>TRACE</http-method>
|
|
<http-method>HEAD</http-method>
|
|
</web-resource-collection>
|
|
<web-resource-collection>
|
|
<web-resource-name>Forbidden</web-resource-name>
|
|
<url-pattern>/*</url-pattern>
|
|
<http-method-omission>GET</http-method-omission>
|
|
<http-method-omission>POST</http-method-omission>
|
|
</web-resource-collection>
|
|
<auth-constraint/>
|
|
</security-constraint>
|
|
</web-app>
|