diff options
Diffstat (limited to 'includes/js/dojox/rpc/Rest.js')
-rw-r--r-- | includes/js/dojox/rpc/Rest.js | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/includes/js/dojox/rpc/Rest.js b/includes/js/dojox/rpc/Rest.js deleted file mode 100644 index 5b79cf3..0000000 --- a/includes/js/dojox/rpc/Rest.js +++ /dev/null @@ -1,90 +0,0 @@ -if(!dojo._hasResource["dojox.rpc.Rest"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.rpc.Rest"] = true; -dojo.provide("dojox.rpc.Rest"); -dojo.require("dojox.rpc.Service"); -// This provides a HTTP REST service with full range REST verbs include PUT,POST, and DELETE. -// A normal GET query is done by using the service directly: -// var services = dojo.rpc.Service({services: {myRestService: {transport: "REST",... -// services.myRestService("parameters"); -// -// The modifying methods can be called as sub-methods of the rest service method like: -// services.myRestService.put("parameters","data to put in resource"); -// services.myRestService.post("parameters","data to post to the resource"); -// services.myRestService['delete']("parameters"); -dojox.rpc._restMethods = { // these are the common rest methods - put : function(r){ - // execute a PUT - r.url = r.target +'?'+ r.data; - r.putData = dojox.rpc._restMethods.sendData; - return dojo.rawXhrPut(r); - }, - post : function(r){ - // execute a POST - r.url = r.target +'?'+ r.data; - r.postData = dojox.rpc._restMethods.sendData; - var def = dojo.rawXhrPost(r); - var postObj = dojox.rpc._restMethods.sendObj; -/* This is a possible HTTP-compliant way to determine the id of a posted object - def.addCallback(function(result) { - dojox._newId = def.ioArgs.xhr.getResponseHeader('Content-Location'); - if (dojox._newId) {// we need some way to communicate the id of the newly created object - dojox.rpc._index[postObj._id = dojox._newId] = postObj; - } - return result; - });*/ - return def; - }, - "delete" : function(r){ - r.url = r.target +'?'+ r.data; - return dojo.xhrDelete(r); - } -} - -dojox.rpc._restMethods.put.sender = -dojox.rpc._restMethods.post.sender = true;// must declare that they send data - -dojox.rpc.transportRegistry.register( - "REST",function(str){return str == "REST"},{// same as GET... for now. Hoping to add put, post, delete as methods of the method - fire: function(r){ - r.url= r.target + (r.data ? '?'+ r.data : ''); - var def = dojo.xhrGet(r); - var newId = dojox.rpc._restQuery; - def.addCallback(function(res) { - dojox._newId = newId; // we need some way to communicate the id of the newly created object - delete dojox.rpc._restQuery; - return res; - }); - return def; - }, - getExecutor : function(func,method,svc){ - var executor = function(id) { - dojox.rpc._restQuery = id; - return func.apply(this,arguments); - }; - var restMethods = dojox.rpc._restMethods; - for (var i in restMethods) { // add the rest methods to the executor - executor[i] = (function() { - var restMethod = restMethods[i];//let - return function() { - - if (restMethod.sender) { - var sendData = dojox.rpc._restMethods.sendObj = arguments[--arguments.length]; - var isJson = ((method.contentType || svc._smd.contentType) + '').match(/application\/json/); - dojox.rpc._restMethods.sendData = isJson ? dojox.rpc.toJson(sendData,false,method._schema || method.returns) : sendData;// serialize with the right schema for the context; - } - for (var j = arguments.length++; j > 0; j--) - arguments[j] = arguments[j-1]; // shift them over - arguments[0] = dojo.mixin({restMethod: restMethod},method); - return svc._executeMethod.apply(svc,arguments); - } - })(); - - } - executor.contentType = method.contentType || svc._smd.contentType; // this is so a Rest service can be examined to know what type of content type to expect - return executor; - }, - restMethods:dojox.rpc._restMethods - } -); - -} |