Sha256: 69e3ef911203da8009fbd7d1d13013e77ec98036f3a5c9d3bac41d5bd4ebd427
Contents?: true
Size: 1.92 KB
Versions: 1
Compression:
Stored size: 1.92 KB
Contents
require 'erb' module OEHClient module Helper module Request ONE_PROTOCOL = "https://" THUNDERHEAD_DOMAIN = ".thunderhead.com" ONE_URI_PART = "/one/oauth1" API_URI_PART = "/rt/api" API_VERSION = "/2.0" # request_url builds the target request URL with the passed parameters, URL encoding the parameters # as necessary to create a valid request def self.format_url(url, params) # for each of the parameters, build a single query parameter string parameter_part = "" params.each do |key, value| # if there is more than one argument, add the apppropriate separator (&) between # query parameters parameter_part << "&" if (parameter_part.length > 0) # URL Encode the value of the property parameter_part << "#{key.to_s}=#{ERB::Util.url_encode(value)}" end # return the fully-qualified URL with parameters (if passsed) (parameter_part.length > 0 ? "#{url}?#{parameter_part}" : "#{url}") end # default_JSON_header is the default header that is passed to any OEH Request if not provided explicitly by the # calling methods def self.default_JSON_header() {'Accept' => 'application/json' , 'Content-Type' =>'application/json', 'X-Requested-With' => 'XMLHttpRequest' } end end # module Request module Response def self.handle(api_response) # raise a generic HTTPRequestException if the the status code is not 100 (Continue) or 200 (OK) raise OEHClient::Exception::HTTPRequestException.new(api_response.message, api_response.code) if (api_response.code != "200" && api_response.code != "100") begin # Return the Body of the response for valid requests ActiveSupport::JSON.decode(api_response.body) rescue ActiveSupport::JSON.parse_error # otherwise raise a standard processing exception raise OEHClient::Exception::HTTPRequestException(api.body, 500) end end end # module Response end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
oeh-client-0.1.0 | lib/oehclient/helper.rb |