class Conify::Api::AbstractApi

Used to make requests to the Conflux API

Public Instance Methods

add_headers(request, headers = {}) click to toggle source
# File lib/conify/api/abstract_api.rb, line 61
def add_headers(request, headers = {})
  headers.each { |key, val| request.add_field(key, val) }
end
delete(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false) click to toggle source
# File lib/conify/api/abstract_api.rb, line 24
def delete(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false)
  form_request(Net::HTTP::Delete, route, data, headers, error_message, show_err_response)
end
form_request(net_obj, route, data, headers, error_message, show_err_response) click to toggle source
# File lib/conify/api/abstract_api.rb, line 43
def form_request(net_obj, route, data, headers, error_message, show_err_response)
  route = data.empty? ? route : "#{route}?#{URI.encode_www_form(data)}"
  request = net_obj.new("/api#{route}")
  request.add_field('Content-Type', 'application/x-www-form-urlencoded')
  add_headers(request, headers)
  response = http.request(request)
  handle_json_response(response, error_message, show_err_response)
end
get(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false) click to toggle source
# File lib/conify/api/abstract_api.rb, line 12
def get(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false)
  form_request(Net::HTTP::Get, route, data, headers, error_message, show_err_response)
end
handle_json_response(response, error_message, show_err_response) click to toggle source
# File lib/conify/api/abstract_api.rb, line 65
def handle_json_response(response, error_message, show_err_response)
  if response.code.to_i == 200
    JSON.parse(response.body) rescue {}
  else
    if show_err_response
      json_err = JSON.parse(response.body) rescue {}
      error json_err['message'] || response.body
    else
      error error_message
    end
  end
end
http() click to toggle source
# File lib/conify/api/abstract_api.rb, line 35
def http
  uri = URI.parse(host_url)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true if uri.scheme == 'https'
  ssl_check_win(http)
  http
end
json_request(net_obj, route, data, headers, error_message, show_err_response) click to toggle source
# File lib/conify/api/abstract_api.rb, line 52
def json_request(net_obj, route, data, headers, error_message, show_err_response)
  request = net_obj.new("/api#{route}")
  request.add_field('Content-Type', 'application/json')
  add_headers(request, headers)
  request.body = data.to_json
  response = http.request(request)
  handle_json_response(response, error_message, show_err_response)
end
post(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false) click to toggle source
# File lib/conify/api/abstract_api.rb, line 16
def post(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false)
  json_request(Net::HTTP::Post, route, data, headers, error_message, show_err_response)
end
put(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false) click to toggle source
# File lib/conify/api/abstract_api.rb, line 20
def put(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false)
  json_request(Net::HTTP::Put, route, data, headers, error_message, show_err_response)
end
ssl_check_win(net_http) click to toggle source
# File lib/conify/api/abstract_api.rb, line 28
def ssl_check_win(net_http)
  case RUBY_PLATFORM
    when /win/i, /ming/i
      net_http.verify_mode = OpenSSL::SSL::VERIFY_NONE if net_http.use_ssl?
  end
end