@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.IOException
private 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.IOException
private 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.IOException
private void transferEncodingIsNotReturnedTo1_0Client(HttpRequestWrapper request, org.apache.http.HttpResponse response)
private void removeResponseTransferEncoding(org.apache.http.HttpResponse response)