summaryrefslogtreecommitdiff
path: root/includes/js/dojox/rpc/JsonRPC.js
diff options
context:
space:
mode:
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;
+ }
+ }
+);
+
+}