Class: AppChain::Http
- Inherits:
-
Object
- Object
- AppChain::Http
- Defined in:
- lib/appchain/http.rb
Constant Summary collapse
- DEFAULT_JSONRPC =
"2.0"
- DEFAULT_PARAMS =
[].freeze
- DEFAULT_ID =
83
Instance Attribute Summary collapse
-
#url ⇒ Object
Returns the value of attribute url.
Instance Method Summary collapse
-
#call_rpc(method, jsonrpc: DEFAULT_JSONRPC, params: DEFAULT_PARAMS, id: DEFAULT_ID) ⇒ Faraday::Response
wrapper for call rpc method.
-
#conn ⇒ Faraday
wrapper faraday object with AppChain URL and Content-Type.
-
#initialize(url) ⇒ Http
constructor
A new instance of Http.
-
#rpc_params(method, jsonrpc: DEFAULT_JSONRPC, params: DEFAULT_PARAMS, id: DEFAULT_ID) ⇒ String
wrapper for rpc params.
Constructor Details
#initialize(url) ⇒ Http
Returns a new instance of Http.
13 14 15 |
# File 'lib/appchain/http.rb', line 13 def initialize(url) @url = url end |
Instance Attribute Details
#url ⇒ Object
Returns the value of attribute url.
7 8 9 |
# File 'lib/appchain/http.rb', line 7 def url @url end |
Instance Method Details
#call_rpc(method, jsonrpc: DEFAULT_JSONRPC, params: DEFAULT_PARAMS, id: DEFAULT_ID) ⇒ Faraday::Response
wrapper for call rpc method
25 26 27 |
# File 'lib/appchain/http.rb', line 25 def call_rpc(method, jsonrpc: DEFAULT_JSONRPC, params: DEFAULT_PARAMS, id: DEFAULT_ID) conn.post("/", rpc_params(method, jsonrpc: jsonrpc, params: params, id: id)) end |
#conn ⇒ Faraday
wrapper faraday object with AppChain URL and Content-Type
49 50 51 52 53 54 55 |
# File 'lib/appchain/http.rb', line 49 def conn Faraday.new(url: url) do |faraday| faraday.headers["Content-Type"] = "application/json" faraday.request :url_encoded # form-encode POST params faraday.adapter Faraday.default_adapter # make requests with Net::HTTP end end |
#rpc_params(method, jsonrpc: DEFAULT_JSONRPC, params: DEFAULT_PARAMS, id: DEFAULT_ID) ⇒ String
wrapper for rpc params
37 38 39 40 41 42 43 44 |
# File 'lib/appchain/http.rb', line 37 def rpc_params(method, jsonrpc: DEFAULT_JSONRPC, params: DEFAULT_PARAMS, id: DEFAULT_ID) { jsonrpc: jsonrpc, id: id, method: method, params: params }.to_json end |