/** * If the {@link HttpRequest} is non-compliant but 'fixable' we go ahead and * fix the request here. * * @param request the request to check for compliance * @throws ClientProtocolException when we have trouble making the request compliant */ public void makeRequestCompliant(final HttpRequestWrapper request) throws ClientProtocolException { if (requestMustNotHaveEntity(request)) { ((HttpEntityEnclosingRequest) request).setEntity(null); } verifyRequestWithExpectContinueFlagHas100continueHeader(request); verifyOPTIONSRequestWithBodyHasContentType(request); decrementOPTIONSMaxForwardsIfGreaterThen0(request); stripOtherFreshnessDirectivesWithNoCache(request); if (requestVersionIsTooLow(request) || requestMinorVersionIsTooHighMajorVersionsMatch(request)) { request.setProtocolVersion(HttpVersion.HTTP_1_1); } }
/** * If the {@link HttpRequest} is non-compliant but 'fixable' we go ahead and * fix the request here. Returning the updated one. * * @param request the request to check for compliance * @return the updated request * @throws ClientProtocolException when we have trouble making the request compliant */ public HttpRequest makeRequestCompliant(HttpRequest request) throws ClientProtocolException { if (requestMustNotHaveEntity(request)) { ((HttpEntityEnclosingRequest) request).setEntity(null); } verifyRequestWithExpectContinueFlagHas100continueHeader(request); verifyOPTIONSRequestWithBodyHasContentType(request); decrementOPTIONSMaxForwardsIfGreaterThen0(request); stripOtherFreshnessDirectivesWithNoCache(request); if (requestVersionIsTooLow(request)) { return upgradeRequestTo(request, HttpVersion.HTTP_1_1); } if (requestMinorVersionIsTooHighMajorVersionsMatch(request)) { return downgradeRequestTo(request, HttpVersion.HTTP_1_1); } return request; }