Class RequestProtocolCompliance

java.lang.Object
org.apache.hc.client5.http.impl.cache.RequestProtocolCompliance

class RequestProtocolCompliance extends Object
  • Field Details

    • weakETagOnPutDeleteAllowed

      private final boolean weakETagOnPutDeleteAllowed
    • disallowedWithNoCache

      private static final List<String> disallowedWithNoCache
  • Constructor Details

    • RequestProtocolCompliance

      public RequestProtocolCompliance()
    • RequestProtocolCompliance

      public RequestProtocolCompliance(boolean weakETagOnPutDeleteAllowed)
  • Method Details

    • requestIsFatallyNonCompliant

      public 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 String buildHeaderFromElements(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)