class XMLRPC::Server
Implements a standalone XML-RPC server. The method XMLRPC::Server#serve is left if a SIGHUP is sent to the program.
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
Public Class Methods
                              new(port=8080, host="127.0.0.1", maxConnections=4, stdlog=$stdout, audit=true, debug=true, *a)
                              click to toggle source
                            
                            Creates a new XMLRPC::Server instance, which is a XML-RPC server listening on the given port and accepts requests for the given host, which is localhost by default.
The server is not started, to start it you have to call XMLRPC::Server#serve.
The optional audit and debug parameters are obsolete!
All additionally provided parameters in *a are by-passed to XMLRPC::BasicServer.new.
                                  Calls superclass method
                                  
                              XMLRPC::WEBrickServlet::new
                              # File xmlrpc-0.3.0/lib/xmlrpc/server.rb, line 575 def initialize(port=8080, host="127.0.0.1", maxConnections=4, stdlog=$stdout, audit=true, debug=true, *a) super(*a) require 'webrick' @server = WEBrick::HTTPServer.new(:Port => port, :BindAddress => host, :MaxClients => maxConnections, :Logger => WEBrick::Log.new(stdlog)) @server.mount("/", self) end
Public Instance Methods
                              serve()
                              click to toggle source
                            
                            Call this after you have added all you handlers to the server. This method starts the server to listen for XML-RPC requests and answer them.
# File xmlrpc-0.3.0/lib/xmlrpc/server.rb, line 585 def serve signals = %w[INT TERM HUP] & Signal.list.keys signals.each { |signal| trap(signal) { @server.shutdown } } @server.start end
                              shutdown()
                              click to toggle source
                            
                            Stops and shuts the server down.
# File xmlrpc-0.3.0/lib/xmlrpc/server.rb, line 593 def shutdown @server.shutdown end