@Contract(threading=IMMUTABLE)
class ResponseProtocolCompliance
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
UNEXPECTED_100_CONTINUE |
private static java.lang.String |
UNEXPECTED_PARTIAL_CONTENT |
| Constructor and Description |
|---|
ResponseProtocolCompliance() |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
backendResponseMustNotHaveBody(org.apache.http.HttpRequest request,
org.apache.http.HttpResponse backendResponse) |
private void |
consumeBody(org.apache.http.HttpResponse response) |
private void |
ensure200ForOPTIONSRequestWithNoBodyHasContentLengthZero(org.apache.http.HttpRequest request,
org.apache.http.HttpResponse response) |
private void |
ensure206ContainsDateHeader(org.apache.http.HttpResponse response) |
private void |
ensure304DoesNotContainExtraEntityHeaders(org.apache.http.HttpResponse response) |
private void |
ensurePartialContentIsNotSentToAClientThatDidNotRequestIt(org.apache.http.HttpRequest request,
org.apache.http.HttpResponse response) |
void |
ensureProtocolCompliance(HttpRequestWrapper request,
org.apache.http.HttpResponse response)
When we get a response from a down stream server (Origin Server)
we attempt to see if it is HTTP 1.1 Compliant and if not, attempt to
make it so.
|
private void |
identityIsNotUsedInContentEncoding(org.apache.http.HttpResponse response) |
private void |
removeResponseTransferEncoding(org.apache.http.HttpResponse response) |
private void |
requestDidNotExpect100ContinueButResponseIsOne(HttpRequestWrapper request,
org.apache.http.HttpResponse response) |
private void |
transferEncodingIsNotReturnedTo1_0Client(HttpRequestWrapper request,
org.apache.http.HttpResponse response) |
private void |
warningsWithNonMatchingWarnDatesAreRemoved(org.apache.http.HttpResponse response) |
private static final java.lang.String UNEXPECTED_100_CONTINUE
private static final java.lang.String UNEXPECTED_PARTIAL_CONTENT
public void ensureProtocolCompliance(HttpRequestWrapper request, org.apache.http.HttpResponse response) throws java.io.IOException
request - The HttpRequest that generated an origin hit and responseresponse - The HttpResponse from the origin serverjava.io.IOException - Bad things happenedprivate void consumeBody(org.apache.http.HttpResponse response)
throws java.io.IOException
java.io.IOExceptionprivate void warningsWithNonMatchingWarnDatesAreRemoved(org.apache.http.HttpResponse response)
private void identityIsNotUsedInContentEncoding(org.apache.http.HttpResponse response)
private void ensure206ContainsDateHeader(org.apache.http.HttpResponse response)
private void ensurePartialContentIsNotSentToAClientThatDidNotRequestIt(org.apache.http.HttpRequest request,
org.apache.http.HttpResponse response)
throws java.io.IOException
java.io.IOExceptionprivate void ensure200ForOPTIONSRequestWithNoBodyHasContentLengthZero(org.apache.http.HttpRequest request,
org.apache.http.HttpResponse response)
private void ensure304DoesNotContainExtraEntityHeaders(org.apache.http.HttpResponse response)
private boolean backendResponseMustNotHaveBody(org.apache.http.HttpRequest request,
org.apache.http.HttpResponse backendResponse)
private void requestDidNotExpect100ContinueButResponseIsOne(HttpRequestWrapper request, org.apache.http.HttpResponse response) throws java.io.IOException
java.io.IOExceptionprivate void transferEncodingIsNotReturnedTo1_0Client(HttpRequestWrapper request, org.apache.http.HttpResponse response)
private void removeResponseTransferEncoding(org.apache.http.HttpResponse response)