Monday, November 08, 2010 at 12:02 AM.
system.verbs.builtins.Frontier.protocols.xmlrpc
on xmlrpc (rpcServer, procedureName, paramlist) {
<<Changes
<<11/7/07; 9:48:36 AM by DW
<<Don't show messages in the About window.
<<3/22/02; 7:31:18 PM by DW
<<Bug fix, the path was not being passed to betty.rpc.client.
<<The only path that could have worked is "/RPC2", since that's the default that betty.rpc.client uses.
<<Now we pass the path, and to ensure there's no breakage of existing code, we make sure the path begins with a forward slash.
<<2/6/02; 8:46:44 AM by DW
<<Created.
local (urllist = string.urlSplit (rpcServer));
local (server = urllist [2], port = 80, rpcPath = urllist [3]);
if server contains ":" {
port = string.nthField (server, ':', string.countFields (server, ':'));
server = string.popSuffix (server, ':')};
if not (rpcPath beginswith "/") {
rpcPath = "/" + rpcPath};
if not defined (user.betty.prefs.flMessages) { //11/7/07 by DW
user.betty.prefs.flMessages = false};
return (betty.rpc.client (server, port, procedureName, @paramlist, rpcPath: rpcPath, fldebug:false, flShowMessages:user.betty.prefs.flMessages))}
<<bundle //test code
<<dialog.alert (["xmlrpc://time.xmlrpc.com/RPC2"].currentTime.getCurrentTime ())
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.