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>
disallowedWithNoCache
private boolean
weakETagOnPutDeleteAllowed
-
Constructor Summary
Constructors Constructor Description RequestProtocolCompliance()
RequestProtocolCompliance(boolean weakETagOnPutDeleteAllowed)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
add100ContinueHeaderIfMissing(org.apache.http.HttpRequest request)
private void
addContentTypeHeaderIfMissing(org.apache.http.HttpEntityEnclosingRequest request)
private java.lang.String
buildHeaderFromElements(java.util.List<org.apache.http.HeaderElement> outElts)
private void
decrementOPTIONSMaxForwardsIfGreaterThen0(org.apache.http.HttpRequest request)
org.apache.http.HttpResponse
getErrorForRequest(RequestProtocolError errorCheck)
Extract error information about theHttpRequest
telling the 'caller' that a problem occured.void
makeRequestCompliant(HttpRequestWrapper request)
If theHttpRequest
is non-compliant but 'fixable' we go ahead and fix the request here.private void
remove100ContinueHeaderIfExists(org.apache.http.HttpRequest request)
private RequestProtocolError
requestContainsNoCacheDirectiveWithFieldName(org.apache.http.HttpRequest request)
private RequestProtocolError
requestHasWeakETagAndRange(org.apache.http.HttpRequest request)
private RequestProtocolError
requestHasWeekETagForPUTOrDELETEIfMatch(org.apache.http.HttpRequest request)
java.util.List<RequestProtocolError>
requestIsFatallyNonCompliant(org.apache.http.HttpRequest request)
Test to see if theHttpRequest
is HTTP1.1 compliant or not and if not, we can not continue.protected boolean
requestMinorVersionIsTooHighMajorVersionsMatch(org.apache.http.HttpRequest request)
private boolean
requestMustNotHaveEntity(org.apache.http.HttpRequest request)
protected boolean
requestVersionIsTooLow(org.apache.http.HttpRequest request)
private void
stripOtherFreshnessDirectivesWithNoCache(org.apache.http.HttpRequest request)
private void
verifyOPTIONSRequestWithBodyHasContentType(org.apache.http.HttpRequest request)
private void
verifyRequestWithExpectContinueFlagHas100continueHeader(org.apache.http.HttpRequest request)
-
-
-
Method Detail
-
requestIsFatallyNonCompliant
public java.util.List<RequestProtocolError> requestIsFatallyNonCompliant(org.apache.http.HttpRequest request)
Test to see if theHttpRequest
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(HttpRequestWrapper request) throws ClientProtocolException
If theHttpRequest
is 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 theHttpRequest
telling the 'caller' that a problem occured.- Parameters:
errorCheck
- What type of error should I get- Returns:
- The
HttpResponse
that 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)
-
-