Repository: cxf Updated Branches: refs/heads/master 1afeea8bd -> 84e775b19
[CXF-6850]:javax.ws.rs.core.Request implementation doesn't match Accept-Encoding: * for any encoding value Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/84e775b1 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/84e775b1 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/84e775b1 Branch: refs/heads/master Commit: 84e775b1961577f6e2470dda19a03a49eabb4ac0 Parents: 1afeea8 Author: Jim Ma <[email protected]> Authored: Wed Mar 30 15:42:13 2016 +0800 Committer: Jim Ma <[email protected]> Committed: Wed Mar 30 15:42:21 2016 +0800 ---------------------------------------------------------------------- .../java/org/apache/cxf/jaxrs/impl/RequestImpl.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/84e775b1/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RequestImpl.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RequestImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RequestImpl.java index a728caf..e5ee091 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RequestImpl.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RequestImpl.java @@ -90,7 +90,7 @@ public class RequestImpl implements Request { } boolean encMatched = acceptEncs.isEmpty() || enc == null - || acceptEncs.contains(enc); + || isEncMatached(acceptEncs, enc);; if (encMatched) { handleVaryValues(varyValues, HttpHeaders.ACCEPT_ENCODING); } @@ -148,6 +148,18 @@ public class RequestImpl implements Request { return false; } + private static boolean isEncMatached(List<String> accepts, String enc) { + if (accepts.contains(enc)) { + return true; + } + for (String accept : accepts) { + if ("*".equals(accept)) { + return true; + } + } + return false; + } + private static List<String> parseAcceptEnc(String acceptEnc) { if (StringUtils.isEmpty(acceptEnc)) { return Collections.emptyList();
