public Object getAttribute()

in src/main/java/org/apache/sling/engine/impl/SlingJakartaHttpServletRequestImpl.java [402:433]


    public Object getAttribute(final String name) {
        final DispatchingInfo dispatchingInfo = this.requestData.getDispatchingInfo();
        if (dispatchingInfo != null && dispatchingInfo.getType() == DispatcherType.INCLUDE) {
            if (SlingConstants.ATTR_REQUEST_CONTENT.equals(name)) {
                return dispatchingInfo.getRequestContent();
            } else if (SlingConstants.ATTR_REQUEST_SERVLET.equals(name)) {
                return JakartaToJavaxServletWrapper.toJavaxServlet(dispatchingInfo.getRequestServlet());
            } else if (SlingConstants.ATTR_REQUEST_JAKARTA_SERVLET.equals(name)) {
                return dispatchingInfo.getRequestServlet();
            } else if (SlingConstants.ATTR_REQUEST_PATH_INFO.equals(name)) {
                return dispatchingInfo.getRequestPathInfo();
            } else if (INCLUDE_CONTEXT_PATH.equals(name)) {
                return dispatchingInfo.getContextPath();
            } else if (INCLUDE_PATH_INFO.equals(name)) {
                return dispatchingInfo.getPathInfo();
            } else if (INCLUDE_QUERY_STRING.equals(name)) {
                return dispatchingInfo.getQueryString();
            } else if (INCLUDE_REQUEST_URI.equals(name)) {
                return dispatchingInfo.getRequestUri();
            } else if (INCLUDE_SERVLET_PATH.equals(name)) {
                return dispatchingInfo.getServletPath();
            } else if (FORWARD_ATTRIBUTES.contains(name)) {
                // include might be contained within a forward, allow forward attributes
                return super.getAttribute(name);
            }
        }
        // block all special attributes
        if (INCLUDE_ATTRIBUTES.contains(name) || FORWARD_ATTRIBUTES.contains(name)) {
            return null;
        }
        return super.getAttribute(name);
    }