protected void doGet()

in src/main/java/org/apache/sling/capabilities/internal/CapabilitiesServlet.java [61:80]


    protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
        
        final Resource resource = request.getResource();

        // Resource must define which namespaces are exposed, 
        // to make sure administrators think about
        // what's exposed
        final ValueMap m = resource.adaptTo(ValueMap.class);
        final String [] namespacePatterns = m.get(NAMESPACES_PROP, String[].class);
        if(namespacePatterns == null) {
            response.sendError(HttpServletResponse.SC_FORBIDDEN, "Missing property " + NAMESPACES_PROP);
            return;
        }
        
        // All good, get capabilities
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        new JSONCapabilitiesWriter().writeJson(resource.getResourceResolver(), response.getWriter(), sources, new RegexFilter(namespacePatterns));
        response.getWriter().flush();
    }