Repository: cxf Updated Branches: refs/heads/3.0.x-fixes d1cb096f5 -> b86811836
[CXF-6020]: UrilInfo.getAbsolutePath() missing path separator between servlet url and relative url Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/b8681183 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/b8681183 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/b8681183 Branch: refs/heads/3.0.x-fixes Commit: b86811836d4b530d4561ede91cc8daa99ae7416b Parents: d1cb096 Author: Andrei Shakirin <andrei.shaki...@gmail.com> Authored: Tue Sep 23 14:20:56 2014 +0200 Committer: Andrei Shakirin <andrei.shaki...@gmail.com> Committed: Tue Sep 23 14:45:47 2014 +0200 ---------------------------------------------------------------------- .../src/main/java/org/apache/cxf/jaxrs/impl/UriInfoImpl.java | 3 +++ .../test/java/org/apache/cxf/jaxrs/impl/UriInfoImplTest.java | 5 +++++ 2 files changed, 8 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/b8681183/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriInfoImpl.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriInfoImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriInfoImpl.java index 609eba1..46238cf 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriInfoImpl.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/UriInfoImpl.java @@ -223,6 +223,9 @@ public class UriInfoImpl implements UriInfo { if (path.startsWith("/") && address.endsWith("/")) { address = address.substring(0, address.length() - 1); } + if (!path.isEmpty() && !path.startsWith("/") && !address.endsWith("/")) { + address = address + "/"; + } return address + path; } http://git-wip-us.apache.org/repos/asf/cxf/blob/b8681183/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriInfoImplTest.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriInfoImplTest.java b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriInfoImplTest.java index ef898fc..b2ddc1a 100644 --- a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriInfoImplTest.java +++ b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriInfoImplTest.java @@ -215,11 +215,16 @@ public class UriInfoImplTest extends Assert { null); assertEquals("Wrong absolute path", "http://localhost:8080/baz/bar", u.getAbsolutePath().toString()); + u = new UriInfoImpl(mockMessage("http://localhost:8080/baz/", "/bar"), null); assertEquals("Wrong absolute path", "http://localhost:8080/baz/bar", u.getAbsolutePath().toString()); + u = new UriInfoImpl(mockMessage("http://localhost:8080/baz", "bar"), + null); + assertEquals("Wrong absolute path", "http://localhost:8080/baz/bar", + u.getAbsolutePath().toString()); } @Test