Type:
Class
Implements a standalone XML-RPC server. The method #serve is left if a SIGHUP is sent to the program.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | require "xmlrpc/server" s = XMLRPC ::Server. new ( 8080 ) s.add_handler( "michael.add" ) do |a,b| a + b end s.add_handler( "michael.div" ) do |a,b| if b == 0 raise XMLRPC ::FaultException. new ( 1 , "division by zero" ) else a / b end end s.set_default_handler do |name, *args| raise XMLRPC ::FaultException. new (- 99 , "Method #{name} missing" + " or wrong number of parameters!" ) end s.serve |