class MessagePack::JSONRPC::HTTPClient
Constants
- CONTENT_TYPE
- JSONRPC_VERSION
Attributes
endpoint[RW]
Public Class Methods
new(endpoint)
click to toggle source
# File lib/messagepack/jsonrpc/http_client.rb, line 16 def initialize(endpoint) @endpoint = endpoint end
Public Instance Methods
encoded_payload(method, params)
click to toggle source
# File lib/messagepack/jsonrpc/http_client.rb, line 34 def encoded_payload(method, params) generate_payload(method, params).to_msgpack end
generate_payload(method, params)
click to toggle source
# File lib/messagepack/jsonrpc/http_client.rb, line 38 def generate_payload(method, params) { method: method, jsonrpc: JSONRPC_VERSION, params: params, id: SecureRandom.base64 } end
headers()
click to toggle source
# File lib/messagepack/jsonrpc/http_client.rb, line 47 def headers { 'Content-Type' => CONTENT_TYPE } end
remote_call(method, params={})
click to toggle source
# File lib/messagepack/jsonrpc/http_client.rb, line 20 def remote_call(method, params={}) resp_body = self.class.post( endpoint, body: encoded_payload(method, params), headers: headers, ).body if resp_body.nil? or resp_body.empty? raise NilOrEmptyResponseError else MessagePack.unpack(resp_body) end end