Updated Branches:
  refs/heads/master fdeef2897 -> 6470c3f77

WICKET-4877 semicolon (;) starts segments if no slash is present

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/6470c3f7
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/6470c3f7
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/6470c3f7

Branch: refs/heads/master
Commit: 6470c3f77f4a952fac2c0d0267e5c6bbbca59038
Parents: fdeef28
Author: svenmeier <[email protected]>
Authored: Thu Nov 22 14:58:27 2012 +0100
Committer: svenmeier <[email protected]>
Committed: Thu Nov 22 14:58:27 2012 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/wicket/request/Url.java   |    7 +++++--
 .../java/org/apache/wicket/request/UrlTest.java    |   12 ++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/6470c3f7/wicket-request/src/main/java/org/apache/wicket/request/Url.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/Url.java 
b/wicket-request/src/main/java/org/apache/wicket/request/Url.java
index 9fb454c..191ebbe 100755
--- a/wicket-request/src/main/java/org/apache/wicket/request/Url.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/Url.java
@@ -232,8 +232,11 @@ public class Url implements Serializable
                        final String afterProto = 
absoluteUrl.substring(protocolAt + 3);
                        final String hostAndPort;
 
-                       final int relativeAt = afterProto.indexOf('/');
-
+                       int relativeAt = afterProto.indexOf('/');
+                       if (relativeAt == -1)
+                       {
+                               relativeAt = afterProto.indexOf(';');
+                       }
                        if (relativeAt == -1)
                        {
                                relativeUrl = "";

http://git-wip-us.apache.org/repos/asf/wicket/blob/6470c3f7/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java 
b/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java
index 36078a1..74af6f7 100644
--- a/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java
+++ b/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java
@@ -223,6 +223,18 @@ public class UrlTest extends Assert
        }
 
        /**
+        * https://issues.apache.org/jira/browse/WICKET-4877
+        */
+       @Test
+       public void testParse15()
+       {
+               String s = 
"http://localhost:56704;jsessionid=8kxeo3reannw1qjtxgkju8yiu";;
+               Url url = Url.parse(s);
+               assertEquals(Integer.valueOf(56704), url.getPort());
+               checkSegments(url, ";jsessionid=8kxeo3reannw1qjtxgkju8yiu");
+       }
+
+       /**
         * 
         */
        @Test

Reply via email to