class Apitizer::Connection::Adaptor::Standard
Public Instance Methods
process(method, address, parameters = {}, headers = {})
click to toggle source
# File lib/apitizer/connection/adaptor/standard.rb, line 8 def process(method, address, parameters = {}, headers = {}) uri = URI(address) request = build_request(method, address, parameters) headers.each { |k, v| request[k] = v } http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if address =~ /^https:/ response = http.request(request) [ response.code.to_i, response.to_hash, Array(response.body) ] rescue NoMethodError raise rescue NameError raise Error, 'Invalid method' rescue SocketError raise Error, 'Connection failed' end
Private Instance Methods
build_request(method, address, parameters)
click to toggle source
# File lib/apitizer/connection/adaptor/standard.rb, line 29 def build_request(method, address, parameters) klass = Net::HTTP.const_get(method.to_s.capitalize) return klass.new(address) if parameters.empty? parameters = Helper.build_query(parameters) if klass == Net::HTTP::Get request = klass.new([ address, parameters ].join('?')) else request = klass.new(address) request.body = parameters request['Content-Type'] = [ 'application/x-www-form-urlencoded', "charset=#{ parameters.encoding.to_s }" ].join('; ') end request end