Class: Conify::Api::AbstractApi
- Inherits:
-
Object
- Object
- Conify::Api::AbstractApi
show all
- Includes:
- Helpers
- Defined in:
- lib/conify/api/abstract_api.rb
Overview
Used to make requests to the Conflux API
Instance Method Summary
collapse
-
#add_headers(request, headers = {}) ⇒ Object
-
#delete(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false) ⇒ Object
-
#form_request(net_obj, route, data, headers, error_message, show_err_response) ⇒ Object
-
#get(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false) ⇒ Object
-
#handle_json_response(response, error_message, show_err_response) ⇒ Object
-
#http ⇒ Object
-
#json_request(net_obj, route, data, headers, error_message, show_err_response) ⇒ Object
-
#post(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false) ⇒ Object
-
#put(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false) ⇒ Object
-
#ssl_check_win(net_http) ⇒ Object
Methods included from Helpers
#allow_user_response, #ask_for_conflux_creds, #ask_for_password, #ask_for_password_on_windows, #camelize, #display, #echo_off, #echo_on, #error, #exclusive_deep_merge, #format_with_bang, #host, #host_url, #kensa_manifest_name, #kensa_manifest_path, #manifest_content, #manifest_filename, #manifest_path, #manually_added_methods, #open_url, #running_on_a_mac?, #running_on_windows?, #site_url, #to_table, #with_tty
Instance Method Details
61
62
63
|
# File 'lib/conify/api/abstract_api.rb', line 61
def (request, = {})
.each { |key, val| request.add_field(key, val) }
end
|
#delete(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false) ⇒ Object
24
25
26
|
# 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, , error_message, show_err_response)
end
|
43
44
45
46
47
48
49
50
|
# File 'lib/conify/api/abstract_api.rb', line 43
def form_request(net_obj, route, data, , 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')
(request, )
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) ⇒ Object
12
13
14
|
# 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, , error_message, show_err_response)
end
|
#handle_json_response(response, error_message, show_err_response) ⇒ Object
65
66
67
68
69
70
71
72
73
74
75
76
|
# 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 ⇒ Object
35
36
37
38
39
40
41
|
# 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) ⇒ Object
52
53
54
55
56
57
58
59
|
# File 'lib/conify/api/abstract_api.rb', line 52
def json_request(net_obj, route, data, , error_message, show_err_response)
request = net_obj.new("/api#{route}")
request.add_field('Content-Type', 'application/json')
(request, )
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) ⇒ Object
16
17
18
|
# 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, , error_message, show_err_response)
end
|
#put(route, data: {}, headers: {}, error_message: 'Error making request', show_err_response: false) ⇒ Object
20
21
22
|
# 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, , error_message, show_err_response)
end
|
#ssl_check_win(net_http) ⇒ Object
28
29
30
31
32
33
|
# 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
|