public static SlingJakartaHttpServletRequestImpl unwrap()

in src/main/java/org/apache/sling/engine/impl/request/RequestData.java [335:360]


    public static SlingJakartaHttpServletRequestImpl unwrap(SlingJakartaHttpServletRequest request) {
        while (request instanceof SlingJakartaHttpServletRequestWrapper) {
            request = ((SlingJakartaHttpServletRequestWrapper) request).getSlingRequest();
        }

        // javax to jakarta wrapper?
        if (request instanceof JavaxToJakartaRequestWrapper) {
            javax.servlet.ServletRequest req = ((JavaxToJakartaRequestWrapper) request).getRequest();
            while (req instanceof javax.servlet.ServletRequestWrapper) {
                req = ((javax.servlet.ServletRequestWrapper) req).getRequest();
            }
            if (req instanceof JakartaToJavaxRequestWrapper) {
                final ServletRequest r = ((JakartaToJavaxRequestWrapper) req).getRequest();
                if (r instanceof SlingJakartaHttpServletRequest) {
                    return unwrap((SlingJakartaHttpServletRequest) r);
                }
                throw new IllegalArgumentException("SlingJakartaHttpServletRequest not of correct type: " + r);
            }
            throw new IllegalArgumentException("SlingJakartaHttpServletRequest not of correct type: " + req);
        }
        if (request instanceof SlingJakartaHttpServletRequestImpl) {
            return (SlingJakartaHttpServletRequestImpl) request;
        }

        throw new IllegalArgumentException("SlingJakartaHttpServletRequest not of correct type: " + request);
    }