Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 421B8200BA6 for ; Tue, 18 Oct 2016 17:03:03 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 40845160ADC; Tue, 18 Oct 2016 15:03:03 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 5EEDF160ACC for ; Tue, 18 Oct 2016 17:03:02 +0200 (CEST) Received: (qmail 31768 invoked by uid 500); 18 Oct 2016 15:03:01 -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 31759 invoked by uid 99); 18 Oct 2016 15:03:01 -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; Tue, 18 Oct 2016 15:03:01 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 740FDDFB81; Tue, 18 Oct 2016 15:03:01 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sergeyb@apache.org To: commits@cxf.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: cxf git commit: [CXF-6216] Better stripping of matrix params Date: Tue, 18 Oct 2016 15:03:01 +0000 (UTC) archived-at: Tue, 18 Oct 2016 15:03:03 -0000 Repository: cxf Updated Branches: refs/heads/3.1.x-fixes 9d48b6199 -> 1f824d803 [CXF-6216] Better stripping of matrix params Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/1f824d80 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/1f824d80 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/1f824d80 Branch: refs/heads/3.1.x-fixes Commit: 1f824d8039c7a42a4aa46f844e6c800e1143c7e7 Parents: 9d48b61 Author: Sergey Beryozkin Authored: Tue Oct 18 16:01:45 2016 +0100 Committer: Sergey Beryozkin Committed: Tue Oct 18 16:02:38 2016 +0100 ---------------------------------------------------------------------- .../rs/service/SampleRestApplication.java | 2 +- .../cxf/transport/servlet/BaseUrlHelper.java | 20 ++++++++------------ .../ServiceListGeneratorServlet.java | 18 +++++++++++++----- .../jaxrs/JAXRSClientServerSpringBookTest.java | 10 ++++++++++ .../src/test/resources/jaxrs/WEB-INF/web.xml | 12 ++++++++++++ 5 files changed, 44 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/1f824d80/distribution/src/main/release/samples/jax_rs/spring_boot/src/main/java/sample/rs/service/SampleRestApplication.java ---------------------------------------------------------------------- diff --git a/distribution/src/main/release/samples/jax_rs/spring_boot/src/main/java/sample/rs/service/SampleRestApplication.java b/distribution/src/main/release/samples/jax_rs/spring_boot/src/main/java/sample/rs/service/SampleRestApplication.java index 358ca4a..34567f3 100644 --- a/distribution/src/main/release/samples/jax_rs/spring_boot/src/main/java/sample/rs/service/SampleRestApplication.java +++ b/distribution/src/main/release/samples/jax_rs/spring_boot/src/main/java/sample/rs/service/SampleRestApplication.java @@ -45,7 +45,7 @@ public class SampleRestApplication { JAXRSServerFactoryBean endpoint = new JAXRSServerFactoryBean(); endpoint.setBus(bus); endpoint.setServiceBeans(Arrays.asList(new HelloServiceImpl1(), new HelloServiceImpl2())); - endpoint.setAddress("/"); + endpoint.setAddress("/a"); endpoint.setFeatures(Arrays.asList(new Swagger2Feature())); return endpoint.create(); } http://git-wip-us.apache.org/repos/asf/cxf/blob/1f824d80/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/BaseUrlHelper.java ---------------------------------------------------------------------- diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/BaseUrlHelper.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/BaseUrlHelper.java index bdc6f55..a3c2e85 100644 --- a/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/BaseUrlHelper.java +++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/BaseUrlHelper.java @@ -36,9 +36,8 @@ public final class BaseUrlHelper { */ public static String getBaseURL(HttpServletRequest request) { String reqPrefix = request.getRequestURL().toString(); - String pathInfo = request.getPathInfo() == null ? "" : request.getPathInfo(); - //fix for CXF-898 - if (!"/".equals(pathInfo) || reqPrefix.endsWith("/")) { + String pathInfo = request.getPathInfo(); + if (!"/".equals(pathInfo) || reqPrefix.contains(";")) { StringBuilder sb = new StringBuilder(); // request.getScheme(), request.getLocalName() and request.getLocalPort() // should be marginally cheaper - provided request.getLocalName() does @@ -47,19 +46,16 @@ public final class BaseUrlHelper { URI uri = URI.create(reqPrefix); sb.append(uri.getScheme()).append("://").append(uri.getRawAuthority()); - if (request.getContextPath() != null) { - sb.append(request.getContextPath()); + String contextPath = request.getContextPath(); + if (contextPath != null) { + sb.append(contextPath); } - if (request.getServletPath() != null) { - sb.append(request.getServletPath()); + String servletPath = request.getServletPath(); + if (servletPath != null) { + sb.append(servletPath); } reqPrefix = sb.toString(); - } else { - int matrixParamIndex = reqPrefix.indexOf(";"); - if (matrixParamIndex > 0) { - reqPrefix = reqPrefix.substring(0, matrixParamIndex); - } } return reqPrefix; } http://git-wip-us.apache.org/repos/asf/cxf/blob/1f824d80/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/servicelist/ServiceListGeneratorServlet.java ---------------------------------------------------------------------- diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/servicelist/ServiceListGeneratorServlet.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/servicelist/ServiceListGeneratorServlet.java index 0ab092d..27f14e7 100644 --- a/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/servicelist/ServiceListGeneratorServlet.java +++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/servicelist/ServiceListGeneratorServlet.java @@ -103,12 +103,20 @@ public class ServiceListGeneratorServlet extends HttpServlet { if (serviceListStyleSheet != null) { styleSheetPath = request.getContextPath() + "/" + serviceListStyleSheet; } else { - String requestUri = request.getRequestURI(); - int matrixParamIndex = requestUri.indexOf(";"); - if (matrixParamIndex > 0) { - requestUri = requestUri.substring(0, matrixParamIndex); + styleSheetPath = ""; + String contextPath = request.getContextPath(); + if (contextPath != null) { + styleSheetPath += contextPath; } - styleSheetPath = requestUri; + String servletPath = request.getServletPath(); + if (servletPath != null) { + styleSheetPath += servletPath; + } + String pathInfo = request.getPathInfo(); + if (pathInfo != null) { + styleSheetPath += pathInfo; + } + if (!styleSheetPath.endsWith("/")) { styleSheetPath += "/"; } http://git-wip-us.apache.org/repos/asf/cxf/blob/1f824d80/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java ---------------------------------------------------------------------- diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java index 5aab183..f3f6058 100644 --- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java +++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java @@ -133,6 +133,16 @@ public class JAXRSClientServerSpringBookTest extends AbstractBusClientServerTest assertFalse(s.contains(";a=b")); assertTrue(s.contains("CXF - Service list")); + assertFalse(s.contains(";a=b")); + assertTrue(s.contains(" 1 + + CXFServlet3 + CXF Servlet3 + + org.apache.cxf.transport.servlet.CXFServlet + + 1 + CXFServlet /the/* @@ -59,5 +67,9 @@ CXFServlet2 /bus/* + + CXFServlet3 + /services/list/* +