Sha256: efa33f184bbedb18002188c93a8c381d370b95d5f8b382cb7ad47e9a0683d194

Contents?: true

Size: 670 Bytes

Versions: 9

Compression:

Stored size: 670 Bytes

Contents

require 'xmlrpc/marshal'

require 'nitro/service'

module Nitro

# The XML-RPC protocol.

module XmlRpc

  # === In
  #
  # [+request+]
  #    Raw request data.
  #
  # === Out
  #
  #  [+method+]
  #  [+args+]  
  
  def decode_request(request)
    method, args = XMLRPC::Marshal.load_call(request)
    Logger.debug "Calling XML-RPC method '#{method}', args: #{args.inspect}" if $DBG
    return method.gsub(/\./, '__'), args
  end

  def encode_response(method_name, response)
    XMLRPC::Marshal.dump_response(response)
  end

  private

end

# The XML-RPC base service.

class XmlRpcService < Service
  include XmlRpc
end
  
end

# * George Moschovitis <gm@navel.gr>

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
nitro-0.23.0 lib/nitro/service/xmlrpc.rb
nitro-0.24.0 lib/nitro/service/xmlrpc.rb
nitro-0.25.0 lib/nitro/service/xmlrpc.rb
nitro-0.26.0 lib/nitro/service/xmlrpc.rb
nitro-0.27.0 lib/nitro/service/xmlrpc.rb
nitro-0.28.0 lib/nitro/service/xmlrpc.rb
nitro-0.29.0 lib/nitro/service/xmlrpc.rb
nitro-0.30.0 lib/nitro/service/xmlrpc.rb
nitro-0.31.0 lib/nitro/service/xmlrpc.rb