Module: Evropochta::Services::ApiService
Constant Summary
Constants included
from Config
Config::SERVICE_NUMBER, Config::USER_LOGIN_NAME, Config::USER_LOGIN_NAME_TYPE_ID, Config::USER_PASSWORD
Class Method Summary
collapse
Class Method Details
.api_url ⇒ Object
12
13
14
|
# File 'lib/evropochta/services/api_service.rb', line 12
def api_url
URI("#{ENV.fetch('API_URL', nil)}:#{ENV.fetch('API_PORT', 80)}/Json")
end
|
.do_request(opts) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/evropochta/services/api_service.rb', line 16
def do_request(opts)
uri = api_url
request = Net::HTTP::Post.new(uri)
request["Content-Type"] = "application/json"
request_body = opts[:post_body]
request.body = request_body.to_json
Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
end
|
.handle_response(response) ⇒ Object
28
29
30
31
32
33
34
35
36
|
# File 'lib/evropochta/services/api_service.rb', line 28
def handle_response(response)
case response
when Net::HTTPSuccess
json_response = JSON.parse(response.body)
json_response["Table"]
else
raise "Error fetching: #{response.message}"
end
end
|