schemaVersion: "1.0"
pattern:
  id: "ecf4381f4653b0aa9a69b417"
  className: "ch.nevis.admin.v4.plugin.nevisproxy.patterns.GenericHostContextSettings"
  name: "DefaultErrorPages"
  label: "UTILS"
  properties:
    filters: |-
      <filter>
           <filter-name>DefaultErrorFilter</filter-name>
           <filter-class>ch::nevis::isiweb4::filter::error::ErrorFilter</filter-class>
           <init-param>
               <param-name>StatusCode</param-name>
               <param-value>
             400:NevisLogrendConnector_${param.logrendInstancePatternName}:/nevislogrend/webdata/template/404.vm?logrendresourcepath=/nevislogrend:keep-status-code
             403:NevisLogrendConnector_${param.logrendInstancePatternName}:/nevislogrend/webdata/template/403.vm?logrendresourcepath=/nevislogrend:keep-status-code
             404:NevisLogrendConnector_${param.logrendInstancePatternName}:/nevislogrend/webdata/template/404.vm?logrendresourcepath=/nevislogrend:keep-status-code
             408:NevisLogrendConnector_${param.logrendInstancePatternName}:/nevislogrend/webdata/template/timeout.vm?logrendresourcepath=/nevislogrend:keep-status-code
             500:NevisLogrendConnector_${param.logrendInstancePatternName}:/nevislogrend/webdata/template/500.vm?logrendresourcepath=/nevislogrend:keep-status-code
             502:NevisLogrendConnector_${param.logrendInstancePatternName}:/nevislogrend/webdata/template/502.vm?logrendresourcepath=/nevislogrend:keep-status-code
               </param-value>
           </init-param>
           <init-param>
               <param-name>CheckAcceptHeader</param-name>
               <param-value>true</param-value>
           </init-param>
           <init-param>
               <param-name>PlaceHolders</param-name>
               <param-value>
                   TransferIdHolder:TRANSFER_ID
                   TimestampHolder:TIMESTAMP
               </param-value>
           </init-param>
      </filter>
      <filter>
           <filter-name>FallbackErrorFilter</filter-name>
           <filter-class>ch::nevis::isiweb4::filter::error::ErrorFilter</filter-class>
           <init-param>
               <param-name>StatusCode</param-name>
               <param-value>
                  500:file:/resources/errorPages/500.html:reset-header:reset-status-code
                  502:file:/resources/errorPages/502.html:reset-header:reset-status-code
                  503:file:/resources/errorPages/500.html:reset-header:reset-status-code
                  504:file:/resources/errorPages/500.html:reset-header:reset-status-code
               </param-value>
           </init-param>
           <init-param>
               <param-name>CheckAcceptHeader</param-name>
               <param-value>true</param-value>
           </init-param>
           <init-param>
               <param-name>PlaceHolders</param-name>
               <param-value>
                   TransferIdHolder:TRANSFER_ID
                   TimestampHolder:TIMESTAMP
               </param-value>
           </init-param>
      </filter>
      <filter-mapping>
         <filter-name>DefaultErrorFilter</filter-name>
         <url-pattern>/*</url-pattern>
         <exclude-url-regex>^/auth/fidouaf$|^/auth/fidouaf/authenticationresponse/.*$|^/nevisfido/devices/credentials/.*$|^/nevisfido/devices/oobOperations/.*$|^/nevisfido/status$|^/nevisfido/token/dispatch/registration$|^/nevisfido/token/dispatch/targets/.*$|^/nevisfido/token/redeem/authentication$|^/nevisfido/token/redeem/registration$|^/nevisfido/uaf/1.1/authentication$|^/nevisfido/uaf/1.1/authentication/.*$|^/nevisfido/uaf/1.1/facets$|^/nevisfido/uaf/1.1/registration/.*$|^/nevisfido/uaf/1.1/request/deregistration/.*$|^/resource/utility/.*$|^/oidc4vp/.*$</exclude-url-regex>
      </filter-mapping>
      <filter-mapping>
         <filter-name>FallbackErrorFilter</filter-name>
         <servlet-name>NevisLogrendConnector_${param.logrendInstancePatternName}</servlet-name>
      </filter-mapping>
    filterMappings: "manual"
    phase: "START"
    parameters: "logrendInstancePatternName: nevisLogrend"
