class Shipcloud::Request::Connection
Attributes
https[R]
Public Class Methods
new(request_info)
click to toggle source
# File lib/shipcloud/request/connection.rb, line 8 def initialize(request_info) @info = request_info end
Public Instance Methods
request()
click to toggle source
# File lib/shipcloud/request/connection.rb, line 30 def request https.start do https.request(https_request) end end
setup_https()
click to toggle source
# File lib/shipcloud/request/connection.rb, line 12 def setup_https if Shipcloud.configuration.use_ssl @https = Net::HTTP.new( Shipcloud.configuration.api_base, Net::HTTP.https_default_port, ) @https.use_ssl = true @https.verify_mode = OpenSSL::SSL::VERIFY_PEER else @https = Net::HTTP.new( Shipcloud.configuration.api_base, Net::HTTP.http_default_port, ) @https.use_ssl = false end @https.set_debug_output $stdout if Shipcloud.configuration.debug end
Protected Instance Methods
https_request()
click to toggle source
# File lib/shipcloud/request/connection.rb, line 38 def https_request headers = Shipcloud.api_headers.merge("Affiliate-ID" => @info.affiliate_id) https_request = case @info.http_method when :post Net::HTTP::Post.new(@info.url, headers) when :put Net::HTTP::Put.new(@info.url, headers) when :delete Net::HTTP::Delete.new(@info.url, headers) else Net::HTTP::Get.new( @info.path_with_params(@info.url, @info.data), headers, ) end https_request.basic_auth(@info.api_key, "") https_request.body = @info.data.to_json if [:post, :put].include?(@info.http_method) https_request end