Sha256: 9b37dca753cfaf57c64a708055afae24bac3810497db6b4557b3a0780a5cbc70
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
require 'uri' require 'cgi' require 'json' require 'rakuten_web_service/response' require 'rakuten_web_service/error' module RakutenWebService class Client attr_reader :url def initialize(resource_class) @resource_class = resource_class @url = URI.parse(@resource_class.endpoint) end def get(params) params = RakutenWebService.configuration.generate_parameters(params) response = request(url.path, params) body = JSON.parse(response.body) if Net::HTTPSuccess === response return RakutenWebService::Response.new(@resource_class, body) else raise RakutenWebService::Error.repository[response.code.to_i], body['error_description'] end end private def request(path, params) http = Net::HTTP.new(@url.host, @url.port) http.use_ssl = true path = "#{path}?#{params.map { |k, v| "#{k}=#{CGI.escape(v.to_s)}" }.join('&')}" header = { 'User-Agent' => "RakutenWebService SDK for Ruby v#{RWS::VERSION}(ruby-#{RUBY_VERSION} [#{RUBY_PLATFORM}])" } http.get(path, header) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rakuten_web_service-1.4.1 | lib/rakuten_web_service/client.rb |