in src/main/java/org/apache/sling/engine/impl/SlingHttpServletRequestImpl.java [405:434]
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 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);
}