You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pa...@apache.org on 2013/06/28 18:09:46 UTC

git commit: Fix WICKET-5259: skip username+password when searching for portnumber

Updated Branches:
  refs/heads/wicket-1.5.x d3053686c -> f65b90a1b


Fix WICKET-5259: skip username+password when searching for portnumber

Conflicts:
	wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java


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

Branch: refs/heads/wicket-1.5.x
Commit: f65b90a1ba882a06c029ebeeb050e66e7ad03874
Parents: d305368
Author: Emond Papegaaij <em...@topicus.nl>
Authored: Fri Jun 28 18:03:26 2013 +0200
Committer: Emond Papegaaij <em...@topicus.nl>
Committed: Fri Jun 28 18:05:36 2013 +0200

----------------------------------------------------------------------
 .../java/org/apache/wicket/request/Url.java     |  7 +++---
 .../java/org/apache/wicket/request/UrlTest.java | 25 ++++++++++++++++++++
 2 files changed, 29 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/f65b90a1/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 e47142a..dd3f67d 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
@@ -185,7 +185,8 @@ public class Url implements Serializable
 				hostAndPort = afterProto.substring(0, relativeAt);
 			}
 
-			final int portAt = hostAndPort.lastIndexOf(':');
+			final int credentialsAt = hostAndPort.lastIndexOf('@') + 1;
+			final int portAt = hostAndPort.substring(credentialsAt).lastIndexOf(':');
 
 			if (portAt == -1)
 			{
@@ -194,8 +195,8 @@ public class Url implements Serializable
 			}
 			else
 			{
-				result.host = hostAndPort.substring(0, portAt);
-				result.port = Integer.parseInt(hostAndPort.substring(portAt + 1));
+				result.host = hostAndPort.substring(0, portAt + credentialsAt);
+				result.port = Integer.parseInt(hostAndPort.substring(portAt + credentialsAt + 1));
 			}
 
 			if (relativeAt < 0)

http://git-wip-us.apache.org/repos/asf/wicket/blob/f65b90a1/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 617938b..e3a81a1 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
@@ -236,6 +236,31 @@ public class UrlTest extends Assert
 	}
 
 	/**
+	 * WICKET-5259
+	 */
+	@Test
+	public void parse17()
+	{
+		String s = "http://me:secret@localhost";
+		Url url = Url.parse(s);
+		assertEquals("http", url.getProtocol());
+		assertEquals("me:secret@localhost", url.getHost());
+	}
+
+	/**
+	 * WICKET-5259
+	 */
+	@Test
+	public void parse18()
+	{
+		String s = "http://me:secret@localhost:8080";
+		Url url = Url.parse(s);
+		assertEquals("http", url.getProtocol());
+		assertEquals("me:secret@localhost", url.getHost());
+		assertEquals(Integer.valueOf(8080), url.getPort());
+	}
+
+	/**
 	 * 
 	 */
 	@Test