Sha256: e6a8b6b51d37fc10c2a7b0ef8dd39de282b6df1880313a8b097e3ee49a606e2e
Contents?: true
Size: 1.58 KB
Versions: 1
Compression:
Stored size: 1.58 KB
Contents
# frozen_string_literal: true module Shipcloud module Request class Connection attr_reader :https def initialize(request_info) @info = request_info end 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 def request https.start do https.request(https_request) end end protected 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 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shipcloud-0.12.0 | lib/shipcloud/request/connection.rb |