diff options
author | Matěj Cepl <mcepl@redhat.com> | 2010-06-17 18:20:03 +0200 |
---|---|---|
committer | Matěj Cepl <mcepl@redhat.com> | 2010-06-17 18:20:03 +0200 |
commit | 9279d5bc3902ab0b18af3a3f8440b8ddd884dec5 (patch) | |
tree | 1f642276cfbd30c70cae6307253020206d87e235 /lib/puvodni/xmlrpc.js | |
parent | 620ca44cfa360d6e100215619acab8ae1eb10f34 (diff) | |
download | bugzilla-triage-9279d5bc3902ab0b18af3a3f8440b8ddd884dec5.tar.gz |
Inheritance works, now there are jetpack-prototype-related bugs
Diffstat (limited to 'lib/puvodni/xmlrpc.js')
-rw-r--r-- | lib/puvodni/xmlrpc.js | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/lib/puvodni/xmlrpc.js b/lib/puvodni/xmlrpc.js deleted file mode 100644 index 69bb77e..0000000 --- a/lib/puvodni/xmlrpc.js +++ /dev/null @@ -1,168 +0,0 @@ -// Released under the MIT/X11 license -// http://www.opensource.org/licenses/mit-license.php -"use strict"; -/* - * - * xmlrpc.js beta version 1 Tool for creating XML-RPC formatted requests in - * JavaScript - * - * Copyright 2001 Scott Andrew LePera scott@scottandrew.com - * http://www.scottandrew.com/xml-rpc - * - * License: You are granted the right to use and/or redistribute this code only - * if this license and the copyright notice are included and you accept that no - * warranty of any kind is made or implied by the author. - * - */ - -var XMLRPCMessage = exports.XMLRPCMessage = function XMLRPCMessage(methodname) { - this.method = methodname || "system.listMethods"; - this.params = []; - return this; -} - -XMLRPCMessage.prototype.setMethod = function(methodName) { - if (!methodName) return; - this.method = methodName; -}; - -XMLRPCMessage.prototype.addParameter = function(data) { - if (arguments.length == 0) return; - this.params[this.params.length] = data; -}; - -XMLRPCMessage.prototype.xml = function() { - - let method = this.method; - - // assemble the XML message header - let xml = ""; - - xml += "<?xml version=\"1.0\"?>\n"; - xml += "<methodCall>\n"; - xml += "<methodName>" + method + "</methodName>\n"; - xml += "<params>\n"; - - // do individual parameters - for ( let i = 0; i < this.params.length; i++) { - let data = this.params[i]; - xml += "<param>\n"; - xml += "<value>" - + this.getParamXML(this.dataTypeOf(data), - data) + "</value>\n"; - xml += "</param>\n"; - } - - xml += "</params>\n"; - xml += "</methodCall>"; - - return xml; // for now -}; - -XMLRPCMessage.prototype.dataTypeOf = function(o) { - // identifies the data type - let type = typeof (o); - type = type.toLowerCase(); - switch (type) { - case "number": - if (Math.round(o) == o) - type = "i4"; - else - type = "double"; - break; - case "object": - let con = o.constructor; - if (con == Date) - type = "date"; - else if (con == Array) - type = "array"; - else - type = "struct"; - break; - } - return type; -}; - -XMLRPCMessage.prototype.doValueXML = function(type, data) { - let xml = "<" + type + ">" + data + "</" + type + ">"; - return xml; -}; - -XMLRPCMessage.prototype.doBooleanXML = function(data) { - let value = (data == true) ? 1 : 0; - let xml = "<boolean>" + value + "</boolean>"; - return xml; -}; - -XMLRPCMessage.prototype.doDateXML = function(data) { - let leadingZero = function (n) { - // pads a single number with a leading zero. Heh. - if (n.length == 1) - n = "0" + n; - return n; - }; - let dateToISO8601 = function(date) { - // wow I hate working with the Date object - let year = new String(date.getYear()); - let month = this.leadingZero(new String(date.getMonth())); - let day = this.leadingZero(new String(date.getDate())); - let time = this.leadingZero(new String(date.getHours())) + ":" - + this.leadingZero(new String(date.getMinutes())) + ":" - + this.leadingZero(new String(date.getSeconds())); - - let converted = year + month + day + "T" + time; - return converted; - }; - - let xml = "<dateTime.iso8601>"; - xml += dateToISO8601(data); - xml += "</dateTime.iso8601>"; - return xml; -}; - -XMLRPCMessage.prototype.doArrayXML = function(data) { - let xml = "<array><data>\n"; - for ( let i = 0; i < data.length; i++) { - xml += "<value>" - + this.getParamXML(this.dataTypeOf(data[i]), - data[i]) + "</value>\n"; - } - xml += "</data></array>\n"; - return xml; -}; - -XMLRPCMessage.prototype.doStructXML = function(data) { - let xml = "<struct>\n"; - for ( let i in data) { - xml += "<member>\n"; - xml += "<name>" + i + "</name>\n"; - xml += "<value>" - + this.getParamXML(this.dataTypeOf(data[i]), - data[i]) + "</value>\n"; - xml += "</member>\n"; - } - xml += "</struct>\n"; - return xml; -}; - -XMLRPCMessage.prototype.getParamXML = function(type, data) { - let xml; - switch (type) { - case "date": - xml = this.doDateXML(data); - break; - case "array": - xml = this.doArrayXML(data); - break; - case "struct": - xml = this.doStructXML(data); - break; - case "boolean": - xml = this.doBooleanXML(data); - break; - default: - xml = this.doValueXML(type, data); - break; - } - return xml; -}; |