@Override public STATE onHeadersReceived(HttpResponseHeaders headers) throws Exception { switch (this.httpStatus) { case 301: case 302: String redirect = headers.getHeaders().getFirstValue("Location"); if (redirect.contains("protected_redirect=true")) { LOG.warn("Abandoning protected account: " + url); connections.decrementAndGet(); } else if (redirect.contains("account/suspended")) { LOG.warn("Abandoning suspended account: " + url); connections.decrementAndGet(); } else if (redirect.contains("//status") || redirect.contains("login?redirect_after_login")) { LOG.warn("Abandoning deleted account: " + url); connections.decrementAndGet(); } else if (followRedirects) { crawlURL(redirect, new TweetFetcherHandler(id, username, redirect, numRetries, followRedirects, line)); } else { LOG.warn("Abandoning redirect: " + url); connections.decrementAndGet(); } return STATE.ABORT; } return super.onHeadersReceived(headers); }
@Override public STATE onHeadersReceived(HttpResponseHeaders headers) throws Exception { switch (this.httpStatus) { case 301: case 302: String redirect = headers.getHeaders().getFirstValue("Location"); if (redirect.contains("protected_redirect=true")) { LOG.warn("Abandoning protected account: " + url); connections.decrementAndGet(); } else if (redirect.contains("account/suspended")) { LOG.warn("Abandoning suspended account: " + url); connections.decrementAndGet(); } else if (redirect.contains("//status") || redirect.contains("login?redirect_after_login")) { LOG.warn("Abandoning deleted account: " + url); connections.decrementAndGet(); } else if (followRedirects) { crawlURL(redirect, new TweetFetcherHandler(id, username, redirect, numRetries, followRedirects, line)); } else { LOG.warn("Abandoning redirect: " + url); connections.decrementAndGet(); } return STATE.ABORT; } return super.onHeadersReceived(headers); }