/* 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); } });