You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by ch...@apache.org on 2008/06/25 13:37:07 UTC

svn commit: r671513 - /incubator/shindig/trunk/features/opensocial-current/restfulcontainer.js

Author: chabotc
Date: Wed Jun 25 04:37:07 2008
New Revision: 671513

URL: http://svn.apache.org/viewvc?rev=671513&view=rev
Log:
Switch to using batched requests by default now that PHP supports it too

Modified:
    incubator/shindig/trunk/features/opensocial-current/restfulcontainer.js

Modified: incubator/shindig/trunk/features/opensocial-current/restfulcontainer.js
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-current/restfulcontainer.js?rev=671513&r1=671512&r2=671513&view=diff
==============================================================================
--- incubator/shindig/trunk/features/opensocial-current/restfulcontainer.js (original)
+++ incubator/shindig/trunk/features/opensocial-current/restfulcontainer.js Wed Jun 25 04:37:07 2008
@@ -38,7 +38,6 @@
   this.baseUrl_ = baseUrl;
 
   this.securityToken_ = shindig.auth.getSecurityToken();
-  this.useBatching_ = false;
 };
 RestfulContainer.inherits(opensocial.Container);
 
@@ -114,72 +113,61 @@
         "application/json");
   }
 
-  // may need multiple urls for one response but lets ignore that for now
-  // TODO: Once both the php and java code decide on and implement batching
-  // the non-batching code should be deleted
-  if (!this.useBatching_) {
-    for (var i = 0; i < totalRequests; i++) {
-      makeProxiedRequest(requestObjects[i], this.baseUrl_, this.securityToken_);
-    }
+  var jsonBatchData = {};
 
-  } else {
-    var jsonBatchData = {};
+  for (var j = 0; j < totalRequests; j++) {
+    var requestObject = requestObjects[j];
 
-    for (var j = 0; j < totalRequests; j++) {
-      var requestObject = requestObjects[j];
+    jsonBatchData[requestObject.key] = {url : requestObject.request.url,
+      method : requestObject.request.method};
+    if (requestObject.request.postData) {
+      jsonBatchData[requestObject.key].postData = requestObject.request.postData;
+    }
+  }
 
-      jsonBatchData[requestObject.key] = {url : requestObject.request.url,
-        method : requestObject.request.method};
-      if (requestObject.request.postData) {
-        jsonBatchData[requestObject.key].postData = requestObject.request.postData;
-      }
+  // This is slightly different than jsonContainer
+  var sendResponse = function(result) {
+    result = result.data;
+
+    if (!result || result['error']) {
+      callback(new opensocial.DataResponse({}, true));
+      return;
     }
 
-    // This is slightly different than jsonContainer
-    var sendResponse = function(result) {
-      result = result.data;
-
-      if (!result || result['error']) {
-        callback(new opensocial.DataResponse({}, true));
-        return;
-      }
-
-      var responses = result['responses'] || [];
-      var globalError = false;
-
-      var responseMap = {};
-
-      for (var k = 0; k < requestObjects.length; k++) {
-        var request = requestObjects[k];
-        var response = responses[request.key];
-
-        var rawData = response['response'];
-        var error = response['error'];
-        var errorMessage = response['errorMessage'];
-
-        var processedData = request.request.processResponse(
-            request.request, rawData, error, errorMessage);
-        globalError = globalError || processedData.hadError();
-        responseMap[request.key] = processedData;
-      }
+    var responses = result['responses'] || [];
+    var globalError = false;
 
-      var dataResponse = new opensocial.DataResponse(responseMap, globalError);
-      callback(dataResponse);
-    };
+    var responseMap = {};
 
-    // TODO: get the jsonbatch url from the container config
-    var makeRequestParams = {
-      "CONTENT_TYPE" : "JSON",
-      "METHOD" : "POST",
-      "AUTHORIZATION" : "SIGNED",
-      "POST_DATA" : gadgets.json.stringify(jsonBatchData)
-    };
+    for (var k = 0; k < requestObjects.length; k++) {
+      var request = requestObjects[k];
+      var response = responses[request.key];
+
+      var rawData = response['response'];
+      var error = response['error'];
+      var errorMessage = response['errorMessage'];
+
+      var processedData = request.request.processResponse(
+          request.request, rawData, error, errorMessage);
+      globalError = globalError || processedData.hadError();
+      responseMap[request.key] = processedData;
+    }
 
-  gadgets.io.makeNonProxiedRequest(
-      this.baseUrl_ + "/jsonBatch?st=" + shindig.auth.getSecurityToken(),
-      sendResponse, makeRequestParams, "application/json");
-  }
+    var dataResponse = new opensocial.DataResponse(responseMap, globalError);
+    callback(dataResponse);
+  };
+
+  // TODO: get the jsonbatch url from the container config
+  var makeRequestParams = {
+    "CONTENT_TYPE" : "JSON",
+    "METHOD" : "POST",
+    "AUTHORIZATION" : "SIGNED",
+    "POST_DATA" : gadgets.json.stringify(jsonBatchData)
+  };
 
+  gadgets.io.makeNonProxiedRequest(
+    this.baseUrl_ + "/jsonBatch?st=" + shindig.auth.getSecurityToken(),
+    sendResponse, makeRequestParams, "application/json");
 };
 
 RestfulContainer.translateHttpError = function(httpError) {