@Override public boolean apply(final Response response) { final String etag = response.getHeaders().get(HttpHeaders.ETAG); if (etag != null) { return !match.contains(etag); } return true; }
@Override public boolean apply(final Response response) { final DateTime lastModified = parseDateHeader(response.getHeaders().get(HttpHeaders.LAST_MODIFIED)); if (lastModified != null) { return !lastModified.isAfter(date); } return true; }
@Override public boolean apply(final Response response) { final DateTime lastModified = parseDateHeader(response.getHeaders().get(HttpHeaders.LAST_MODIFIED)); if (lastModified != null) { return lastModified.isAfter(date); } return true; }
@Override public boolean apply(final Response response) { final String etag = response.getHeaders().get(HttpHeaders.ETAG); if (etag != null) { return match.contains(etag); } return true; }
private static String getHeaderValue(final Response response, final String header) { return response.getHeaders().get(header); }
private static String getHeaderValue(final Request request, final String header) { return request.getHeaders().get(header); }
@Nullable private static Predicate<Response> ifNoneMatch(final Request request) { final String match = request.getHeaders().get(HttpHeaders.IF_NONE_MATCH); if (match != null && !"*".equals(match)) { return new Predicate<Response>() { @Override public boolean apply(final Response response) { final String etag = response.getHeaders().get(HttpHeaders.ETAG); if (etag != null) { return !match.contains(etag); } return true; } @Override public String toString() { return HttpConditions.class.getSimpleName() + ".ifNoneMatch(" + match + ")"; } }; } return null; }
@Nullable private static Predicate<Response> ifMatch(final Request request) { final String match = request.getHeaders().get(HttpHeaders.IF_MATCH); if (match != null && !"*".equals(match)) { return new Predicate<Response>() { @Override public boolean apply(final Response response) { final String etag = response.getHeaders().get(HttpHeaders.ETAG); if (etag != null) { return match.contains(etag); } return true; } @Override public String toString() { return HttpConditions.class.getSimpleName() + ".ifMatch(" + match + ")"; } }; } return null; }
@Nullable private static Predicate<Response> ifModifiedSince(final Request request) { final DateTime date = parseDateHeader(request.getHeaders().get(HttpHeaders.IF_MODIFIED_SINCE)); if (date != null) { return new Predicate<Response>() { @Override public boolean apply(final Response response) { final DateTime lastModified = parseDateHeader(response.getHeaders().get(HttpHeaders.LAST_MODIFIED)); if (lastModified != null) { return lastModified.isAfter(date); } return true; } @Override public String toString() { return HttpConditions.class.getSimpleName() + ".ifModifiedSince(" + date + ")"; } }; } return null; }
@Nullable private static Predicate<Response> ifUnmodifiedSince(final Request request) { final DateTime date = parseDateHeader(request.getHeaders().get(HttpHeaders.IF_UNMODIFIED_SINCE)); if (date != null) { return new Predicate<Response>() { @Override public boolean apply(final Response response) { final DateTime lastModified = parseDateHeader(response.getHeaders().get(HttpHeaders.LAST_MODIFIED)); if (lastModified != null) { return !lastModified.isAfter(date); } return true; } @Override public String toString() { return HttpConditions.class.getSimpleName() + ".ifUnmodifiedSince(" + date + ")"; } }; } return null; }
responseBuilder.header(HttpHeaders.ETAG, response.getHeaders().get(HttpHeaders.ETAG));