diff options
author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-13 09:49:11 +0000 |
---|---|---|
committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-13 09:49:11 +0000 |
commit | e44a7e37b6c7b5961adaffc62b9042b8d442938e (patch) | |
tree | 95b67c356e93163467db2451f2b8cce84ed5d582 /includes/js/dojox/rpc/JsonRPC.js | |
parent | a62b9742ee5e28bcec6872d88f50f25b820914f6 (diff) | |
download | semanticscuttle-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.js | 58 |
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; + } + } +); + +} |