class AnyApi::Request
Constants
- HTTPMETHODS
Attributes
apiresult[RW]
Public Class Methods
new(http_method, endpoint, params_hsh = nil)
click to toggle source
# File lib/any_api.rb, line 15 def initialize(http_method, endpoint, params_hsh = nil) uri = URI.parse("#{AnyApi.configuration.api_base_url}/#{endpoint}") res = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http| # a safe eval as only one of the above HTTPMETHODS would be allowed ie: Get, Put, Post, Delete request = eval "Net::HTTP::#{http_method if HTTPMETHODS.include?(http_method)}.new uri" request.basic_auth(AnyApi.configuration.username, AnyApi.configuration.password) request["Content-Type"] = "application/json" if params_hsh request.body = params_hsh.to_json end http.request request end @apiresult = res end
Public Instance Methods
is_ok?()
click to toggle source
# File lib/any_api.rb, line 48 def is_ok? case apiresult when Net::HTTPSuccess true else false end end
parser_response()
click to toggle source
# File lib/any_api.rb, line 34 def parser_response case apiresult when Net::HTTPSuccess JSON.parse apiresult.body when Net::HTTPUnauthorized {'error' => "#{ apiresult.message}: username and password set and correct?"} when Net::HTTPServerError {'error' => "#{ apiresult.message}: try again later?"} else {'error' => "there seems to be an error in the server, please try again"} end end