Class RequestProtocolCompliance
- java.lang.Object
-
- org.apache.http.impl.client.cache.RequestProtocolCompliance
-
@Contract(threading=IMMUTABLE) class RequestProtocolCompliance extends java.lang.Object- Since:
- 4.1
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.List<java.lang.String>disallowedWithNoCacheprivate booleanweakETagOnPutDeleteAllowed
-
Constructor Summary
Constructors Constructor Description RequestProtocolCompliance()RequestProtocolCompliance(boolean weakETagOnPutDeleteAllowed)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidadd100ContinueHeaderIfMissing(org.apache.http.HttpRequest request)private voidaddContentTypeHeaderIfMissing(org.apache.http.HttpEntityEnclosingRequest request)private java.lang.StringbuildHeaderFromElements(java.util.List<org.apache.http.HeaderElement> outElts)private voiddecrementOPTIONSMaxForwardsIfGreaterThen0(org.apache.http.HttpRequest request)org.apache.http.HttpResponsegetErrorForRequest(RequestProtocolError errorCheck)Extract error information about theHttpRequesttelling the 'caller' that a problem occured.voidmakeRequestCompliant(HttpRequestWrapper request)If theHttpRequestis non-compliant but 'fixable' we go ahead and fix the request here.private voidremove100ContinueHeaderIfExists(org.apache.http.HttpRequest request)private RequestProtocolErrorrequestContainsNoCacheDirectiveWithFieldName(org.apache.http.HttpRequest request)private RequestProtocolErrorrequestHasWeakETagAndRange(org.apache.http.HttpRequest request)private RequestProtocolErrorrequestHasWeekETagForPUTOrDELETEIfMatch(org.apache.http.HttpRequest request)java.util.List<RequestProtocolError>requestIsFatallyNonCompliant(org.apache.http.HttpRequest request)Test to see if theHttpRequestis HTTP1.1 compliant or not and if not, we can not continue.protected booleanrequestMinorVersionIsTooHighMajorVersionsMatch(org.apache.http.HttpRequest request)private booleanrequestMustNotHaveEntity(org.apache.http.HttpRequest request)protected booleanrequestVersionIsTooLow(org.apache.http.HttpRequest request)private voidstripOtherFreshnessDirectivesWithNoCache(org.apache.http.HttpRequest request)private voidverifyOPTIONSRequestWithBodyHasContentType(org.apache.http.HttpRequest request)private voidverifyRequestWithExpectContinueFlagHas100continueHeader(org.apache.http.HttpRequest request)
-
-
-
Method Detail
-
requestIsFatallyNonCompliant
public java.util.List<RequestProtocolError> requestIsFatallyNonCompliant(org.apache.http.HttpRequest request)
Test to see if theHttpRequestis 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(HttpRequestWrapper request) throws ClientProtocolException
If theHttpRequestis non-compliant but 'fixable' we go ahead and fix the request here.- Parameters:
request- the request to check for compliance- Throws:
ClientProtocolException- when we have trouble making the request compliant
-
stripOtherFreshnessDirectivesWithNoCache
private void stripOtherFreshnessDirectivesWithNoCache(org.apache.http.HttpRequest request)
-
buildHeaderFromElements
private java.lang.String buildHeaderFromElements(java.util.List<org.apache.http.HeaderElement> outElts)
-
requestMustNotHaveEntity
private boolean requestMustNotHaveEntity(org.apache.http.HttpRequest request)
-
decrementOPTIONSMaxForwardsIfGreaterThen0
private void decrementOPTIONSMaxForwardsIfGreaterThen0(org.apache.http.HttpRequest request)
-
verifyOPTIONSRequestWithBodyHasContentType
private void verifyOPTIONSRequestWithBodyHasContentType(org.apache.http.HttpRequest request)
-
addContentTypeHeaderIfMissing
private void addContentTypeHeaderIfMissing(org.apache.http.HttpEntityEnclosingRequest request)
-
verifyRequestWithExpectContinueFlagHas100continueHeader
private void verifyRequestWithExpectContinueFlagHas100continueHeader(org.apache.http.HttpRequest request)
-
remove100ContinueHeaderIfExists
private void remove100ContinueHeaderIfExists(org.apache.http.HttpRequest request)
-
add100ContinueHeaderIfMissing
private void add100ContinueHeaderIfMissing(org.apache.http.HttpRequest request)
-
requestMinorVersionIsTooHighMajorVersionsMatch
protected boolean requestMinorVersionIsTooHighMajorVersionsMatch(org.apache.http.HttpRequest request)
-
requestVersionIsTooLow
protected boolean requestVersionIsTooLow(org.apache.http.HttpRequest request)
-
getErrorForRequest
public org.apache.http.HttpResponse getErrorForRequest(RequestProtocolError errorCheck)
Extract error information about theHttpRequesttelling the 'caller' that a problem occured.- Parameters:
errorCheck- What type of error should I get- Returns:
- The
HttpResponsethat is the error generated
-
requestHasWeakETagAndRange
private RequestProtocolError requestHasWeakETagAndRange(org.apache.http.HttpRequest request)
-
requestHasWeekETagForPUTOrDELETEIfMatch
private RequestProtocolError requestHasWeekETagForPUTOrDELETEIfMatch(org.apache.http.HttpRequest request)
-
requestContainsNoCacheDirectiveWithFieldName
private RequestProtocolError requestContainsNoCacheDirectiveWithFieldName(org.apache.http.HttpRequest request)
-
-