Ruby: Rack-RPC json e xml rpc server per rack


Rack-RPC è un middleware rack che permette di implementare servizi in formato xmlrpc e jsonrpc.

require 'rack/rpc'

class Server < Rack::RPC::Server
  before_filter :check_auth

  def hello_world
    "Hello, world!"
  end
  rpc 'hello_world' => :hello_world

  private

  def check_auth
    raise "Not authorized" unless authorized
  end
end


I servizi vengono incapuslati dentro classi che ereditano da Rack::RPC::Server e supportano i filtri come in rails.
Il fatto che sia un middleware permette di integrarlo dentro qualsiasi applicazione rails, sinatra,padrino ecc…