blob: 592681ddf08d041c208325ebad28d6fa623351b3 [file] [log] [blame]
/*
Copyright (c) 2004-2006, The Dojo Foundation
All Rights Reserved.
Licensed under the Academic Free License version 2.1 or above OR the
modified BSD license. For more information on Dojo licensing, see:
http://dojotoolkit.org/community/licensing.shtml
*/
dojo.provide("dojo.rpc.JotService");
dojo.require("dojo.rpc.RpcService"); dojo.require("dojo.rpc.JsonService"); dojo.require("dojo.json"); dojo.rpc.JotService = function(){
this.serviceUrl = "/_/jsonrpc";
}
dojo.inherits(dojo.rpc.JotService, dojo.rpc.JsonService);
dojo.lang.extend(dojo.rpc.JotService, {
bind: function(method, parameters, deferredRequestHandler, url){
//summary
//Jot bind method. Takes remote method, parameters, deferred,
//and a url, calls createRequest to make a Jot RPC envelope and
//passes that off with bind.
dojo.io.bind({
url: url||this.serviceUrl,
content: {
json: this.createRequest(method, parameters)
},
method: "POST",
mimetype: "text/json",
load: this.resultCallback(deferredRequestHandler),
error: this.errorCallback(deferredRequestHandler),
preventCache: true
});
},
createRequest: function(method, params){
//summary
//create the json portion of the Jot request
var req = { "params": params, "method": method, "id": this.lastSubmissionId++ };
return dojo.json.serialize(req);
}
});