class Amply::Client
Constants
- DEFAULT_HEADERS
Public Class Methods
auth_header()
click to toggle source
# File lib/amply/client.rb, line 50 def auth_header { Authorization: "Bearer #{@@access_token}" } end
parse_response(resp)
click to toggle source
# File lib/amply/client.rb, line 32 def parse_response(resp) code = resp.code.to_i if [301, 302].include?(code) return resp['location'] elsif [401, 403].include?(code) raise Exceptions::APIException, resp elsif code == 404 raise Exceptions::ResourcNotFoundException, resp elsif code == 422 raise Exceptions::ValidationException, resp elsif code < 200 || code >= 300 raise Exceptions::APIException, resp end JSON.parse(resp.body, symbolize_names: true) end
post(path, body, options = {})
click to toggle source
# File lib/amply/client.rb, line 19 def post(path, body, options = {}) uri = URI("#{@@url}#{path}") headers = [ DEFAULT_HEADERS, options[:headers] || {}, auth_header ].inject(&:merge) resp = Net::HTTP.post(uri, body.to_json, headers) parse_response(resp) end
set_access_token(token)
click to toggle source
# File lib/amply/client.rb, line 15 def set_access_token(token) @@access_token = token end