public ResponseBuilder evaluatePreconditions(Date lastModified) { if (lastModified == null) { throw new IllegalArgumentException("Date is null"); } ResponseBuilder rb = evaluateIfNotModifiedSince(lastModified); if (rb == null) { rb = evaluateIfModifiedSince(lastModified); } return rb; }
public ResponseBuilder evaluatePreconditions(Date lastModified) { if (lastModified == null) { throw new IllegalArgumentException("Date is null"); } ResponseBuilder rb = evaluateIfNotModifiedSince(lastModified); if (rb == null) { rb = evaluateIfModifiedSince(lastModified); } return rb; }
private ResponseBuilder evaluateIfMatch(EntityTag eTag, Date date) { List<String> ifMatch = headers.getRequestHeader(HttpHeaders.IF_MATCH); if (ifMatch == null || ifMatch.isEmpty()) { return date == null ? null : evaluateIfNotModifiedSince(date); } try { for (String value : ifMatch) { if ("*".equals(value)) { return null; } EntityTag requestTag = EntityTag.valueOf(value); // must be a strong comparison if (!requestTag.isWeak() && !eTag.isWeak() && requestTag.equals(eTag)) { return null; } } } catch (IllegalArgumentException ex) { // ignore } return Response.status(Response.Status.PRECONDITION_FAILED).tag(eTag); }
private ResponseBuilder evaluateIfMatch(EntityTag eTag, Date date) { List<String> ifMatch = headers.getRequestHeader(HttpHeaders.IF_MATCH); if (ifMatch == null || ifMatch.size() == 0) { return date == null ? null : evaluateIfNotModifiedSince(date); } try { for (String value : ifMatch) { if ("*".equals(value)) { return null; } EntityTag requestTag = EntityTag.valueOf(value); // must be a strong comparison if (!requestTag.isWeak() && !eTag.isWeak() && requestTag.equals(eTag)) { return null; } } } catch (IllegalArgumentException ex) { // ignore } return Response.status(Response.Status.PRECONDITION_FAILED).tag(eTag); }