Interface ErrorPageHandlerService
@ProviderType
public interface ErrorPageHandlerService
Error Page Handling Service which facilitates the resolution of errors against authorable pages for discrete content trees.
This service is used via the ACS-AEM-Commons error page handler implementation to create author-able error pages.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbooleandoHandle404(org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.SlingHttpServletResponse response) Determine is the request is a 404 and if so handles the request appropriately base on some CQ idiosyncrasies .findErrorPage(org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.resource.Resource errorResource) Find the JCR full path to the most appropriate Error PagegetErrorPageName(org.apache.sling.api.SlingHttpServletRequest request) Get the Error Page's name (all lowercase) that should be used to render the page for this error.getException(org.apache.sling.api.SlingHttpServletRequest request) Returns the Exception Message (Stacktrace) from the RequestgetRequestProgress(org.apache.sling.api.SlingHttpServletRequest request) Returns a String representation of the RequestProgress traceintgetStatusCode(org.apache.sling.api.SlingHttpServletRequest request) Get Error Status Code from Request or Default (500) if no status code can be foundvoidincludeUsingGET(org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.SlingHttpServletResponse response, String path) Include the path, forcing the request method to be GET.booleanDetermines if this Service is "enabled".booleanDetermines if Vanity-URL dispatch check is enabled.voidresetRequestAndResponse(org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.SlingHttpServletResponse response, int statusCode) Reset response attributes to support printing out a new page (rather than one that potentially errored out).booleanshouldRequestUseErrorPageHandler(org.apache.sling.api.SlingHttpServletRequest request)
-
Field Details
-
DEFAULT_STATUS_CODE
static final int DEFAULT_STATUS_CODE- See Also:
-
-
Method Details
-
isEnabled
boolean isEnabled()Determines if this Service is "enabled". If it has been configured to be "Disabled" the Service still exists however it should not be used. This OSGi Property toggle allows error page handler to be toggled on an off without via OSGi means without throwing Null pointers, etc.- Returns:
- true is the Service should be considered enabled
-
findErrorPage
String findErrorPage(org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.resource.Resource errorResource) Find the JCR full path to the most appropriate Error Page- Parameters:
request-errorResource-- Returns:
-
getStatusCode
int getStatusCode(org.apache.sling.api.SlingHttpServletRequest request) Get Error Status Code from Request or Default (500) if no status code can be found- Parameters:
request-- Returns:
-
getErrorPageName
Get the Error Page's name (all lowercase) that should be used to render the page for this error. This looks at the Servlet Sling has already resolved to handle this request (making Sling do all the hard work)!- Parameters:
request-- Returns:
-
doHandle404
boolean doHandle404(org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.SlingHttpServletResponse response) Determine is the request is a 404 and if so handles the request appropriately base on some CQ idiosyncrasies . Invokes the AEM Login Selector Autheticator on 404'ing requests made by anonymous users.- Parameters:
request-response-- Returns:
- true if the error page handler should process the 404; false is the AEM authenticator has been invoked and responsible for processing the request further
-
getException
Returns the Exception Message (Stacktrace) from the Request- Parameters:
request-- Returns:
-
getRequestProgress
Returns a String representation of the RequestProgress trace- Parameters:
request-- Returns:
-
resetRequestAndResponse
void resetRequestAndResponse(org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.SlingHttpServletResponse response, int statusCode) Reset response attributes to support printing out a new page (rather than one that potentially errored out). This includes clearing clientlib inclusion state, and resetting the response. If the response is committed, and it hasnt been closed by code, check the response AND jsp buffer sizes and ensure they are large enough to NOT force a buffer flush.- Parameters:
request-response-statusCode-
-
includeUsingGET
void includeUsingGET(org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.SlingHttpServletResponse response, String path) Include the path, forcing the request method to be GET. This method will silently swallow exceptions.- Parameters:
request- the requestresponse- the responsepath- the path
-
isVanityDispatchCheckEnabled
boolean isVanityDispatchCheckEnabled()Determines if Vanity-URL dispatch check is enabled. When enabled and current request URI is a valid vanity (after performing resource resolver mapping), request will be forwarded.- Returns:
- true if check is enabled else false
-
shouldRequestUseErrorPageHandler
boolean shouldRequestUseErrorPageHandler(org.apache.sling.api.SlingHttpServletRequest request) - Parameters:
request- The request- Returns:
- True if the service should be used for this service/ False if it should not
-