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) {