--- Prosody IM v0.3
--- Copyright (C) 2008-2009 Matthew Wild
--- Copyright (C) 2008-2009 Waqas Hussain
+-- Prosody IM
+-- Copyright (C) 2008-2010 Matthew Wild
+-- Copyright (C) 2008-2010 Waqas Hussain
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
local t_insert = table.insert;
local tostring = tostring;
local tonumber = tonumber;
+local select = select;
local st = require "util.stanza";
module "xmlrpc"
number=function(stanza, object)
stanza:tag("int"):text(tostring(object)):up();
end;
+ ["nil"]=function(stanza, object) -- nil extension
+ stanza:tag("nil"):up();
+ end;
};
_lua_to_xmlrpc = function(stanza, object)
local h = map[type(object)];
return stanza;
end
+function create_request(method_name, ...)
+ local stanza = st.stanza("methodCall")
+ :tag("methodName"):text(method_name):up()
+ :tag("params");
+ for i=1,select('#', ...) do
+ stanza:tag("param"):tag("value");
+ _lua_to_xmlrpc(stanza, select(i, ...));
+ stanza:up():up();
+ end
+ stanza:up():up():up();
+ return stanza;
+end
local _xmlrpc_to_lua;
local int_parse = function(stanza)
if tostring(tonumber(n)) == n then n = tonumber(n); end
return n;
end;
+ ["nil"]=function(stanza) -- nil extension
+ return nil;
+ end;
}
_xmlrpc_to_lua = function(stanza)
local h = rmap[stanza.name];