[
https://issues.apache.org/jira/browse/CXF-2592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12795059#action_12795059
]
Kent Tong commented on CXF-2592:
--------------------------------
I think we aren't looking at the same version. In 2.2.5 the code is shown below:
public ResponseBuilder evaluatePreconditions(EntityTag eTag) {
String ifMatch = getHeaderValue(HttpHeaders.IF_MATCH);
if (ifMatch == null || ifMatch.equals("*")) {
return null;
}
try {
EntityTag requestTag = EntityTag.valueOf(ifMatch);
if (requestTag.equals(eTag) && !requestTag.isWeak()) {
return null;
}
} catch (IllegalArgumentException ex) {
// ignore
}
return Response.status(Response.Status.PRECONDITION_FAILED).tag(eTag);
}
> evaluatePreconditions() in RequestImpl should also check the If-None-Match
> header
> ---------------------------------------------------------------------------------
>
> Key: CXF-2592
> URL: https://issues.apache.org/jira/browse/CXF-2592
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.2.5
> Reporter: Kent Tong
>
> Currently the code is:
> public ResponseBuilder evaluatePreconditions(Date lastModified, EntityTag
> eTag) {
> ResponseBuilder rb = evaluatePreconditions(eTag);
> if (rb != null) {
> return rb;
> }
> return evaluatePreconditions(lastModified);
> }
> public ResponseBuilder evaluatePreconditions(EntityTag eTag) {
> String ifMatch = getHeaderValue(HttpHeaders.IF_MATCH);
> ...
> }
> which is checking the If-Match header. While it is fine to check the If-Match
> header, it should also check the
> If-None-Match header which is more often used for GET requests, along with
> the If-Modified-Since header.
> This is what the two-argument version of evaluatePreconditions() is supposed
> to do.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.