summaryrefslogtreecommitdiff
path: root/includes/js/dojox/rpc/JsonRPC.js
diff options
context:
space:
mode:
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-11-13 09:49:11 +0000
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-11-13 09:49:11 +0000
commite44a7e37b6c7b5961adaffc62b9042b8d442938e (patch)
tree95b67c356e93163467db2451f2b8cce84ed5d582 /includes/js/dojox/rpc/JsonRPC.js
parenta62b9742ee5e28bcec6872d88f50f25b820914f6 (diff)
downloadsemanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.gz
semanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.bz2
New feature: basic Ajax suggestion for tags and implementation of Dojo toolkit
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@151 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'includes/js/dojox/rpc/JsonRPC.js')
-rw-r--r--includes/js/dojox/rpc/JsonRPC.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/includes/js/dojox/rpc/JsonRPC.js b/includes/js/dojox/rpc/JsonRPC.js
new file mode 100644
index 0000000..1710b31
--- /dev/null
+++ b/includes/js/dojox/rpc/JsonRPC.js
@@ -0,0 +1,58 @@
+if(!dojo._hasResource["dojox.rpc.JsonRPC"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.rpc.JsonRPC"] = true;
+dojo.provide("dojox.rpc.JsonRPC");
+
+dojox.rpc.envelopeRegistry.register(
+ "JSON-RPC-1.0",function(str){return str == "JSON-RPC-1.0"},{
+ serialize: function(smd, method, data, options){
+ //not converted to json it self. This will be done, if appropriate, at the
+ //transport level
+ var d = dojox.rpc.toOrdered(method, data);
+ d = dojox.rpc.toJson({id: this._requestId++, method: method.name, params: d});
+
+ return {
+ data: d,
+ contentType: 'application/json',
+ transport:"POST"
+ }
+ },
+
+ deserialize: function(results){
+ var obj = dojox.rpc.resolveJson(results);
+ if (obj.error) {
+ var e = new Error(obj.error);
+ e._rpcErrorObject = obj.error;
+ return e;
+ }
+ return obj.result || true;
+ }
+ }
+);
+
+dojox.rpc.envelopeRegistry.register(
+ "JSON-RPC-1.2",function(str){return str == "JSON-RPC-1.2"},{
+ serialize: function(smd, method, data, options){
+ var trans = method.transport || smd.transport || "POST";
+ var d = dojox.rpc.toNamed(method, data);
+
+ d = dojox.rpc.toJson({id: this._requestId++, method: method.name, params: data});
+ return {
+ data: d,
+ contentType: 'application/json',
+ transport:"POST"
+ }
+ },
+
+ deserialize: function(results){
+ var obj = dojox.rpc.resolveJson(results);
+ if (obj.error) {
+ var e = new Error(obj.error.message);
+ e._rpcErrorObject = obj.error;
+ return e;
+ }
+ return obj.result || true;
+ }
+ }
+);
+
+}