You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by dd...@apache.org on 2012/07/27 20:40:17 UTC

svn commit: r1366484 - in /shindig/trunk: config/ content/samplecontainer/examples/datapipeline/ java/gadgets/src/main/java/org/apache/shindig/gadgets/ java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/ java/gadgets/src/main/java/org/apache...

Author: ddumont
Date: Fri Jul 27 18:40:16 2012
New Revision: 1366484

URL: http://svn.apache.org/viewvc?rev=1366484&view=rev
Log:
SHINDIG-1797 - Data pipelining request not working when container in SSL mode
Committed for Erik Bi

Added:
    shindig/trunk/content/samplecontainer/examples/datapipeline/
    shindig/trunk/content/samplecontainer/examples/datapipeline/ViewerRequestTest.xml   (with props)
Modified:
    shindig/trunk/config/container.js
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java

Modified: shindig/trunk/config/container.js
URL: http://svn.apache.org/viewvc/shindig/trunk/config/container.js?rev=1366484&r1=1366483&r2=1366484&view=diff
==============================================================================
--- shindig/trunk/config/container.js (original)
+++ shindig/trunk/config/container.js Fri Jul 27 18:40:16 2012
@@ -75,7 +75,7 @@
 // Config param to load Opensocial data for social
 // preloads in data pipelining.  %host% will be
 // substituted with the current host.
-"gadgets.osDataUri" : "http://%host%${CONTEXT_ROOT}/rpc",
+"gadgets.osDataUri" : "//%host%${CONTEXT_ROOT}/rpc",
 
 // Use an insecure security token by default
 "gadgets.securityTokenType" : "insecure",

Added: shindig/trunk/content/samplecontainer/examples/datapipeline/ViewerRequestTest.xml
URL: http://svn.apache.org/viewvc/shindig/trunk/content/samplecontainer/examples/datapipeline/ViewerRequestTest.xml?rev=1366484&view=auto
==============================================================================
--- shindig/trunk/content/samplecontainer/examples/datapipeline/ViewerRequestTest.xml (added)
+++ shindig/trunk/content/samplecontainer/examples/datapipeline/ViewerRequestTest.xml Fri Jul 27 18:40:16 2012
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Module>
+	<ModulePrefs title="ViewerRequest test"	description="ViewerRequest test">
+      <Require feature="opensocial-data" />
+	</ModulePrefs>
+   <Content view="default" type="html">
+   <![CDATA[
+      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+      <script xmlns:os="http://ns.opensocial.org/2008/markup" type="text/os-data">
+         <os:ViewerRequest key="viewer" />
+      </script>
+      <!-- Initialize the gadget -->
+      <script type="text/javascript">
+         gadgets.util.registerOnLoadHandler(function() {
+            var currentViewer = opensocial.data.getDataContext().getDataSet('viewer');
+            if (currentViewer) {
+               document.getElementById("gadgetBody").innerHTML = "The current viewer id is " + currentViewer.id;
+            }
+         });
+     </script>
+     <div id="gadgetBody">No current viewer yet</div>
+   ]]>
+   </Content>
+</Module>
\ No newline at end of file

Propchange: shindig/trunk/content/samplecontainer/examples/datapipeline/ViewerRequestTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: shindig/trunk/content/samplecontainer/examples/datapipeline/ViewerRequestTest.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java?rev=1366484&r1=1366483&r2=1366484&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java Fri Jul 27 18:40:16 2012
@@ -100,6 +100,13 @@ public class GadgetContext {
   }
 
   /**
+   * @return The host schema for which the current request is being made.
+   */
+  public String getHostSchema() {
+    return delegate == null ? null : delegate.getHostSchema();
+  }
+
+  /**
    * @return The IP Address for the current user.
    */
   public String getUserIp() {

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java?rev=1366484&r1=1366483&r2=1366484&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java Fri Jul 27 18:40:16 2012
@@ -47,6 +47,7 @@ import java.util.concurrent.Callable;
 import javax.servlet.http.HttpServletResponse;
 
 import com.google.common.base.Preconditions;
+import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
@@ -389,6 +390,10 @@ public class PipelinedDataPreloader {
     UriBuilder builder = UriBuilder.parse(
         jsonUri.replace("%host%", context.getHost()))
         .addQueryParameter("st", token);
-    return builder.toUri();
+    Uri uri = builder.toUri();
+    if(Strings.isNullOrEmpty(uri.getScheme()) && !Strings.isNullOrEmpty(context.getHostSchema())) {
+      uri = builder.setScheme(context.getHostSchema()).toUri();
+    }
+    return uri;
   }
 }

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java?rev=1366484&r1=1366483&r2=1366484&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java Fri Jul 27 18:40:16 2012
@@ -83,6 +83,12 @@ public class HttpGadgetContext extends G
   }
 
   @Override
+  public String getHostSchema() {
+    String schema = request.getScheme();
+    return schema == null ? super.getHostSchema() : schema;
+  }
+
+  @Override
   public String getUserIp() {
     String ip = request.getRemoteAddr();
     return ip == null ? super.getUserIp() : ip;