private Checksum extractChecksum(Head request) throws IOException { return new Checksum(request.getLastModified() != null ? fromMillis(request.getLastModified()) : null, request.getContentLength(), null); } }
public void run() throws IOException { Head request = new Head(getDownload().getUrl()); if (getDownload().getETag() != null) request.setIfNoneMatch(getDownload().getETag()); String body = request.executeAsString(); log.info(format("HEAD for %s returned with status code %s and body %s", getDownload().getUrl(), request.getStatusCode(), body)); if (request.isNotModified()) { ensureChecksum(request); downloadExecutor.notModified(); } else if (request.isSuccessful()) { getDownload().setETag(request.getETag()); ensureChecksum(request); downloadExecutor.succeeded(); } else downloadExecutor.downloadFailed(); }