You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2015/10/11 20:05:31 UTC

[2/2] wicket git commit: WICKET-5994 Mounted TemplateResourceReference throws org.apache.wicket.WicketRuntimeException when https is used

WICKET-5994 Mounted TemplateResourceReference throws org.apache.wicket.WicketRuntimeException when https is used

Use ServletContext to read local resources


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

Branch: refs/heads/wicket-6.x
Commit: 6edf1541748fb2de969ee695bf988573e621cafd
Parents: 65539b0
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sun Oct 11 20:03:34 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sun Oct 11 20:05:21 2015 +0200

----------------------------------------------------------------------
 .../wicket/markup/html/include/Include.java     | 32 +++++++++++---------
 1 file changed, 17 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/6edf1541/wicket-core/src/main/java/org/apache/wicket/markup/html/include/Include.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/include/Include.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/include/Include.java
index df90241..115e9a7 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/include/Include.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/include/Include.java
@@ -20,7 +20,7 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import java.nio.charset.Charset;
 
-import javax.servlet.http.HttpServletRequest;
+import javax.servlet.ServletContext;
 
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.core.util.resource.UrlResourceStream;
@@ -31,6 +31,7 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.request.UrlUtils;
 import org.apache.wicket.resource.ResourceUtil;
+import org.apache.wicket.util.lang.Args;
 
 
 /**
@@ -171,23 +172,24 @@ public class Include extends WebComponent
 	 *            the url to import
 	 * @return the imported url's contents
 	 */
-	private String importRelativeUrl(CharSequence url)
+	private String importRelativeUrl(String url)
 	{
-		// make the url absolute
-		HttpServletRequest req = (HttpServletRequest)getRequest().getContainerRequest();
-		StringBuilder buildUrl = new StringBuilder(url.length());
-		String scheme = req.getScheme();
-		int port = req.getServerPort();
-		buildUrl.append(scheme); // http, https
-		buildUrl.append("://");
-		buildUrl.append(req.getServerName());
-		if ((scheme.equals("http") && port != 80) || (scheme.equals("https") && port != 443))
+		Args.notEmpty(url, "url");
+
+		if (url.charAt(0) != '/')
+		{
+			url = '/' + url;
+		}
+
+		try
+		{
+			ServletContext servletContext = getWebApplication().getServletContext();
+			URL resource = servletContext.getResource(url);
+			return importUrl(resource);
+		} catch (MalformedURLException mux)
 		{
-			buildUrl.append(':');
-			buildUrl.append(req.getServerPort());
+			throw new WicketRuntimeException(mux);
 		}
-		buildUrl.append(req.getContextPath()).append('/').append(url);
-		return importAbsoluteUrl(buildUrl);
 	}
 
 	/**