class MmJsonClient::JsonRpcHttp::Client
A helper client for doing JSON-RPC calls over http.
Public Class Methods
new(base_url, options = {})
click to toggle source
# File lib/mm_json_client/json_rpc_http/client.rb, line 9 def initialize(base_url, options = {}) @http_client = MmJsonClient::HttpClient::Client.new(base_url, options[:endpoint], allowed_client_options(options)) end
Public Instance Methods
request(method, params = nil, id = false)
click to toggle source
id defaults to false to detect if was specified. Null is a valid value according to the spec.
# File lib/mm_json_client/json_rpc_http/client.rb, line 17 def request(method, params = nil, id = false) http_response = @http_client.post(request_message(method, params, id)) MmJsonClient::JsonRpcHttp::Response.new(http_response.body) end
Private Instance Methods
allowed_client_options(options)
click to toggle source
# File lib/mm_json_client/json_rpc_http/client.rb, line 34 def allowed_client_options(options) allowed = [:verify_ssl, :open_timeout, :timeout] options.select { |option| allowed.include?(option) } end
base_request_message()
click to toggle source
# File lib/mm_json_client/json_rpc_http/client.rb, line 24 def base_request_message { jsonrpc: '2.0' } end
request_message(method, params, id)
click to toggle source
# File lib/mm_json_client/json_rpc_http/client.rb, line 28 def request_message(method, params, id) msg = base_request_message.merge(method: method, params: params) msg[:id] = id unless id == false # Optional msg.to_json end