Class SlingInternalRequest


  • public class SlingInternalRequest
    extends InternalRequest
    Internal request that uses a SlingRequestProcessor. This executes the complete Sling request processing pipeline. That's the same processing than Sling uses for HTTP requests, but it's not as efficient as the ServletInternalRequest which resolves and calls a Servlet or Script directly. This variant of internal requests is useful when no Resource is available, as it builds its own Resource based on the supplied parameters to drive the Servlet/Script resolution mechanism.
    • Constructor Detail

      • SlingInternalRequest

        public SlingInternalRequest​(@NotNull
                                    @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver,
                                    @NotNull
                                    @NotNull org.apache.sling.engine.SlingRequestProcessor p,
                                    @NotNull
                                    @NotNull String path)
        Setup an internal request that uses a SlingRequestProcessor
    • Method Detail

      • toString

        public String toString()
        Return essential request info, used to set the logging MDC
        Overrides:
        toString in class Object
      • withResourceSuperType

        public SlingInternalRequest withResourceSuperType​(String resourceSuperType)
        Sets the sling:resourceSuperType of the fake Resource used to resolve the Script or Servlet used for the internal request
      • withResourceType

        public SlingInternalRequest withResourceType​(String resourceType)
        Sets the sling:resourceType of the fake Resource used to resolve the Script or Servlet used for the internal request
      • delegateExecute

        protected void delegateExecute​(org.apache.sling.api.SlingHttpServletRequest request,
                                       org.apache.sling.api.SlingHttpServletResponse response,
                                       org.apache.sling.api.resource.ResourceResolver resourceResolver)
                                throws javax.servlet.ServletException,
                                       IOException
        Description copied from class: InternalRequest
        Execute the supplied Request
        Specified by:
        delegateExecute in class InternalRequest
        Throws:
        javax.servlet.ServletException
        IOException
      • getExecutionResource

        protected org.apache.sling.api.resource.Resource getExecutionResource()
        Description copied from class: InternalRequest
        Provide the Resource to use to execute the request
        Specified by:
        getExecutionResource in class InternalRequest