<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         version="3.1"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
  <display-name>StandaloneController</display-name>
  <listener>
    <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
  </listener>

  <context-param>
    <param-name>resteasy.servlet.mapping.prefix</param-name>
    <param-value>/rest</param-value>
  </context-param>

  <servlet>
    <servlet-name>Resteasy</servlet-name>
    <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    <init-param>
      <param-name>javax.ws.rs.Application</param-name>
      <param-value>org.kie.server.controller.common.StandaloneControllerApplication</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>Resteasy</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Swagger web resources</web-resource-name>
      <url-pattern>/rest/swagger.json</url-pattern>
      <url-pattern>/docs/*</url-pattern>
      <http-method>GET</http-method>
    </web-resource-collection>
    <!-- No authentication. Swagger resources should be accessible without authentication. -->
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>web resources</web-resource-name>
      <url-pattern>/rest/*</url-pattern>
      <url-pattern>/websocket/*</url-pattern>
      <http-method>GET</http-method>
      <http-method>PUT</http-method>
      <http-method>POST</http-method>
      <http-method>DELETE</http-method>
    </web-resource-collection>
    <auth-constraint>
      <role-name>kie-server</role-name>
    </auth-constraint>
  </security-constraint>
  <security-constraint> 
   <web-resource-collection> 
     <web-resource-name>REST web resources</web-resource-name> 
     <url-pattern>/rest/*</url-pattern> 
     <url-pattern>/websocket/*</url-pattern>
     <http-method>OPTIONS</http-method> 
   </web-resource-collection> 
   <!-- No authentication.  --> 
 </security-constraint> 
  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>KIE Server</realm-name>
  </login-config>
  <security-role>
    <role-name>kie-server</role-name>
  </security-role>

  <deny-uncovered-http-methods />
</web-app>
