return false;
}
private boolean handleResponse(final InternalState state) throws HttpException {
final HttpClientContext localContext = state.getLocalContext();
final RequestConfig config = localContext.getRequestConfig();
if (config.isAuthenticationEnabled()) {
if (needAuthentication(state)) {
// discard previous auth headers
final HttpRequestWrapper currentRequest = state.getCurrentRequest();
final HttpRequest original = currentRequest.getOriginal();
if (!original.containsHeader(AUTH.WWW_AUTH_RESP)) {
currentRequest.removeHeaders(AUTH.WWW_AUTH_RESP);
}
if (!original.containsHeader(AUTH.PROXY_AUTH_RESP)) {
currentRequest.removeHeaders(AUTH.PROXY_AUTH_RESP);
}
return true;
}
}
if (config.isRedirectsEnabled()) {
final HttpRequest currentRequest = state.getCurrentRequest();
final HttpResponse currentResponse = state.getCurrentResponse();
if (this.redirectStrategy.isRedirected(currentRequest, currentResponse, localContext)) {
final int maxRedirects = config.getMaxRedirects() >= 0 ? config.getMaxRedirects() : 100;
if (state.getRedirectCount() >= maxRedirects) {
throw new RedirectException("Maximum redirects (" + maxRedirects + ") exceeded");
}
state.incrementRedirectCount();
final HttpUriRequest redirect = this.redirectStrategy.getRedirect(currentRequest, currentResponse,