Repository: wicket
Updated Branches:
  refs/heads/master 93fbcfedf -> 24c8c5d27


WICKET-5812 AtmosphereBehavior wrongly sets Ajax base url to '.'

(cherry picked from commit 4e39ebdb3a8d8e15284dfd7c7be7251758179bdb)


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

Branch: refs/heads/master
Commit: 24c8c5d277fd8b481b245d8b60efe3c2932fba51
Parents: 93fbcfe
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Mon Jan 19 16:10:26 2015 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Mon Jan 19 16:10:50 2015 +0200

----------------------------------------------------------------------
 .../org/apache/wicket/atmosphere/AtmosphereBehavior.java | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/24c8c5d2/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
----------------------------------------------------------------------
diff --git 
a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
 
b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
index 147b122..36c9fe6 100644
--- 
a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
+++ 
b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
@@ -28,9 +28,11 @@ import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
+import org.apache.wicket.request.Url;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.http.WebRequest;
 import org.apache.wicket.resource.CoreLibrariesContributor;
+import org.apache.wicket.util.string.Strings;
 import org.atmosphere.cpr.AtmosphereRequest;
 import org.atmosphere.cpr.AtmosphereResource;
 import org.atmosphere.cpr.AtmosphereResourceEvent;
@@ -241,7 +243,14 @@ public class AtmosphereBehavior extends 
AbstractAjaxBehavior
        @Override
        public CharSequence getCallbackUrl()
        {
-               return super.getCallbackUrl() + "&" + WebRequest.PARAM_AJAX + 
"=true&" + WebRequest.PARAM_AJAX_BASE_URL + "=.";
+               RequestCycle requestCycle = getComponent().getRequestCycle();
+               Url baseUrl = requestCycle.getUrlRenderer().getBaseUrl();
+               CharSequence ajaxBaseUrl = 
Strings.escapeMarkup(baseUrl.toString());
+
+               return new StringBuilder(256)
+                               .append(super.getCallbackUrl())
+                               
.append('&').append(WebRequest.PARAM_AJAX).append("=true&")
+                               
.append(WebRequest.PARAM_AJAX_BASE_URL).append('=').append(ajaxBaseUrl);
        }
 
        /**

Reply via email to