Return-Path: X-Original-To: apmail-cxf-commits-archive@www.apache.org Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A471D19F89 for ; Wed, 30 Mar 2016 13:08:17 +0000 (UTC) Received: (qmail 17686 invoked by uid 500); 30 Mar 2016 13:08:17 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 17629 invoked by uid 500); 30 Mar 2016 13:08:17 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 17620 invoked by uid 99); 30 Mar 2016 13:08:17 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Mar 2016 13:08:17 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 6194CDFC74; Wed, 30 Mar 2016 13:08:17 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: ema@apache.org To: commits@cxf.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: cxf git commit: [CXF-6853]:Support encoded value in @ApplicationPath Date: Wed, 30 Mar 2016 13:08:17 +0000 (UTC) Repository: cxf Updated Branches: refs/heads/3.0.x-fixes af303b6ee -> fd33546e4 [CXF-6853]:Support encoded value in @ApplicationPath Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/fd33546e Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/fd33546e Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/fd33546e Branch: refs/heads/3.0.x-fixes Commit: fd33546e44aa148f77b88094d8dfafdbe3640f9c Parents: af303b6 Author: Jim Ma Authored: Wed Mar 30 20:57:24 2016 +0800 Committer: Jim Ma Committed: Wed Mar 30 21:07:56 2016 +0800 ---------------------------------------------------------------------- .../main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java | 10 ++++++++++ 1 file changed, 10 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/fd33546e/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java index 61664b4..0fedc24 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java @@ -22,6 +22,7 @@ package org.apache.cxf.jaxrs.utils; import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URISyntaxException; +import java.net.URLDecoder; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -498,6 +499,15 @@ public final class HttpUtils { public static String getPathToMatch(String path, String address, boolean addSlash) { int ind = path.indexOf(address); + try { + String decodeAddr = URLDecoder.decode(address, "UTF-8"); + if (ind == -1 && !address.equals(decodeAddr)) { + address = decodeAddr; + ind = path.indexOf(address); + } + } catch (UnsupportedEncodingException e) { + // + } if (ind == -1 && address.equals(path + "/")) { path += "/"; ind = 0;