| <?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>${wicket.configuration}</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> |
| |
| <!-- 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> |