Class RequestProtocolCompliance


  • class RequestProtocolCompliance
    extends java.lang.Object
    • Field Detail

      • weakETagOnPutDeleteAllowed

        private final boolean weakETagOnPutDeleteAllowed
      • disallowedWithNoCache

        private static final java.util.List<java.lang.String> disallowedWithNoCache
    • Constructor Detail

      • RequestProtocolCompliance

        public RequestProtocolCompliance()
      • RequestProtocolCompliance

        public RequestProtocolCompliance​(boolean weakETagOnPutDeleteAllowed)
    • Method Detail

      • requestIsFatallyNonCompliant

        public java.util.List<RequestProtocolError> requestIsFatallyNonCompliant​(org.apache.hc.core5.http.HttpRequest request)
        Test to see if the HttpRequest is HTTP1.1 compliant or not and if not, we can not continue.
        Parameters:
        request - the HttpRequest Object
        Returns:
        list of RequestProtocolError
      • makeRequestCompliant

        public void makeRequestCompliant​(org.apache.hc.core5.http.HttpRequest request)
        If the HttpRequest is non-compliant but 'fixable' we go ahead and fix the request here.
        Parameters:
        request - the request to check for compliance
      • stripOtherFreshnessDirectivesWithNoCache

        private void stripOtherFreshnessDirectivesWithNoCache​(org.apache.hc.core5.http.HttpRequest request)
      • buildHeaderFromElements

        private java.lang.String buildHeaderFromElements​(java.util.List<org.apache.hc.core5.http.HeaderElement> outElts)
      • decrementOPTIONSMaxForwardsIfGreaterThen0

        private void decrementOPTIONSMaxForwardsIfGreaterThen0​(org.apache.hc.core5.http.HttpRequest request)
      • requestMinorVersionIsTooHighMajorVersionsMatch

        protected boolean requestMinorVersionIsTooHighMajorVersionsMatch​(org.apache.hc.core5.http.HttpRequest request)
      • requestVersionIsTooLow

        protected boolean requestVersionIsTooLow​(org.apache.hc.core5.http.HttpRequest request)
      • requestHasWeakETagAndRange

        private RequestProtocolError requestHasWeakETagAndRange​(org.apache.hc.core5.http.HttpRequest request)
      • requestHasWeekETagForPUTOrDELETEIfMatch

        private RequestProtocolError requestHasWeekETagForPUTOrDELETEIfMatch​(org.apache.hc.core5.http.HttpRequest request)
      • requestContainsNoCacheDirectiveWithFieldName

        private RequestProtocolError requestContainsNoCacheDirectiveWithFieldName​(org.apache.hc.core5.http.HttpRequest request)