class Fireblocks::Request
Interface to GET, POST, PUT
Constants
- Error
Attributes
path[RW]
uri[RW]
Public Class Methods
get(path:, body: '')
click to toggle source
# File lib/fireblocks/api/request.rb, line 10 def get(path:, body: '') new(path: path).get(body) end
new(path:)
click to toggle source
# File lib/fireblocks/api/request.rb, line 25 def initialize(path:) @path = path @uri = URI("#{Fireblocks.configuration.base_url}#{path}") end
post(path:, body:)
click to toggle source
# File lib/fireblocks/api/request.rb, line 18 def post(path:, body:) new(path: path).post(body) end
put(path:, body:)
click to toggle source
# File lib/fireblocks/api/request.rb, line 14 def put(path:, body:) new(path: path).put(body) end
Public Instance Methods
get(body)
click to toggle source
# File lib/fireblocks/api/request.rb, line 30 def get(body) req = Net::HTTP::Get.new(uri) request_headers(body).each { |rk, rv| req[rk] = rv } valid_response!(send_request(req)) end
post(body)
click to toggle source
# File lib/fireblocks/api/request.rb, line 45 def post(body) req = Net::HTTP::Post.new(uri) request_headers(body).each { |rk, rv| req[rk] = rv } req.body = body.to_json valid_response!(send_request(req)) end
put(body)
click to toggle source
# File lib/fireblocks/api/request.rb, line 37 def put(body) req = Net::HTTP::Put.new(uri) request_headers(body).each { |rk, rv| req[rk] = rv } req.body = body.to_json valid_response!(send_request(req)) end
Private Instance Methods
request_headers(body)
click to toggle source
# File lib/fireblocks/api/request.rb, line 55 def request_headers(body) { 'X-API-Key' => Fireblocks.configuration.api_key, 'Authorization' => "Bearer #{token(body)}", 'Content-Type' => 'application/json' } end
send_request(request)
click to toggle source
# File lib/fireblocks/api/request.rb, line 63 def send_request(request) Net::HTTP.start( uri.hostname, uri.port, use_ssl: true ) { |http| http.request(request) } end
token(body)
click to toggle source
# File lib/fireblocks/api/request.rb, line 69 def token(body) Token.call(body, uri) end
valid_response!(req_response)
click to toggle source
# File lib/fireblocks/api/request.rb, line 73 def valid_response!(req_response) resp = JSON.parse(req_response.body) return resp if req_response.message == 'OK' raise Error, resp end