{
  "displayName": "Carbon Device Management App",
  "logLevel": "info",
  "initScripts": ["/app/modules/init.js"],
  "urlMappings": [
    {
      "url": "/api/devices/*",
      "path": "/api/device-api.jag"
    },
    {
      "url": "/api/groups/*",
      "path": "/api/group-api.jag"
    },
    {
      "url": "/api/policies/*",
      "path": "/api/policy-api.jag"
    },
    {
      "url": "/api/user/*",
      "path": "/api/user-api.jag"
    },
    {
      "url": "/api/invoker/*",
      "path": "/api/invoker-api.jag"
    },
    {
      "url": "/uuf/login",
      "path": "/lib/modules/auth/login.jag"
    },
    {
      "url": "/uuf/logout",
      "path": "/lib/modules/auth/logout.jag"
    },
    {
      "url": "/uuf/sso/acs",
      "path": "/lib/modules/auth/acs.jag"
    },
    {
      "url": "/public/*",
      "path": "/lib/static-files.jag"
    },
    {
      "url": "/unit/*",
      "path": "/lib/units.jag"
    },
    {
      "url": "/*",
      "path": "/lib/pages.jag"
    },
    {
      "url": "/api/data-tables/invoker",
      "path": "/api/data-tables-invoker-api.jag"
    },
    {
      "url": "/api/operation/*",
      "path": "/api/operation-api.jag"
    }
  ],
  "errorPages": {
      "500": "/error-pages/error500.html",
      "404": "/error-pages/error404.html",
      "401": "/error-pages/error401.html",
      "405": "/error-pages/error405.html",
      "403": "/error-pages/error403.html",
      "400": "/error-pages/error400.html"
    },
  "filters": [
    {
            "name": "ContentTypeBasedCachePreventionFilter",
            "class": "org.wso2.carbon.ui.filters.cache.ContentTypeBasedCachePreventionFilter",
            "params" : [
                {"name" : "patterns", "value" : "text/html\" ,application/json\" ,text/plain"},
                {"name" : "filterAction", "value" : "enforce"},
                {"name" : "httpHeaders", "value" : "Cache-Control: no-store, no-cache, must-revalidate, private"}
            ]
    },
    {
      "name":"HttpHeaderSecurityFilter",
      "class":"org.apache.catalina.filters.HttpHeaderSecurityFilter",
      "params" : [{"name" : "hstsEnabled", "value" : "false"}]
    },
    {
        "name" : "CSRFGuard",
        "class" : "org.owasp.csrfguard.CsrfGuardFilter"
    }

  ],
  "filterMappings": [
    {
      "name":"HttpHeaderSecurityFilter",
       "url":"*"
    },
    {
        "name" : "CSRFGuard",
        "url" : "/*"
    },
    {
        "name":"ContentTypeBasedCachePreventionFilter",
        "url":"*"
    }

  ],
  "listeners" : [
      {
        "class" : "org.owasp.csrfguard.CsrfGuardServletContextListener"
      },
      {
        "class" : "org.owasp.csrfguard.CsrfGuardHttpSessionListener"
      }
    ],
    "servlets" : [
      {
        "name" : "JavaScriptServlet",
        "class" : "org.owasp.csrfguard.servlet.JavaScriptServlet"
      }
    ],
    "servletMappings" : [
      {
        "name" : "JavaScriptServlet",
        "url" : "/csrf.js"
      }
    ],
    "contextParams" : [
      {
        "name" : "Owasp.CsrfGuard.Config",
        "value" : "repository/conf/security/Owasp.CsrfGuard.dashboard.properties"
      }
    ]
}