Type:
Class
Implements a servlet for use with WEBrick, a pure Ruby (HTTP) server framework.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | require "webrick" require "xmlrpc/server" s = XMLRPC ::WEBrickServlet. new 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 httpserver = WEBrick::HTTPServer. new (:Port => 8080 ) httpserver.mount( "/RPC2" , s) trap( "HUP" ) { httpserver.shutdown } # use 1 instead of "HUP" on Windows httpserver.start |