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…