Sha256: d0a07c173bb8565a6b7d792717474c3808f73bf4ea011a88008e42d0e46df811

Contents?: true

Size: 632 Bytes

Versions: 2

Compression:

Stored size: 632 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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nitro-0.41.0 lib/nitro/service/xmlrpc.rb
nitro-0.40.0 lib/nitro/service/xmlrpc.rb