protected boolean hasForwardedHeaderWithProtoParamHttps()

in struts2-custom-results-plugin/src/main/java/org/apache/struts2/result/SslOffloadAwareServletRedirectResult.java [167:188]


    protected boolean hasForwardedHeaderWithProtoParamHttps(HttpServletRequest request) {
        Enumeration<String> forwardedHeaders = request.getHeaders("Forwarded");

        if (forwardedHeaders == null) {
            return false;
        }

        while (forwardedHeaders.hasMoreElements()) {
            String forwardedHeader = forwardedHeaders.nextElement();
            String[] forwardedHeaderElements = forwardedHeader.split(",");
            
            for (String forwardedHeaderElement : forwardedHeaderElements) {
                Matcher matcher = FORWARDED_PROTO_PARAM_HTTPS.matcher(forwardedHeaderElement.trim());

                if (matcher.matches()) {
                    return true;
                }
            }
        }

        return false;
    }