Sha256: 4abd1068bf04bb423e6a45b2b21677b2b8de33b2e4d5f5640e3b78dd5578992d
Contents?: true
Size: 1.8 KB
Versions: 1
Compression:
Stored size: 1.8 KB
Contents
require 'universal-git-client/http/response_validation' require 'httparty' require 'down' require 'deep_merge' module UniversalGitClient module Http class Base include HTTParty include ResponseValidation def initialize(base_url:, download_url: nil, access_token: nil, private_token: nil) if access_token && private_token raise ArgumentError, 'access_token and private_token params are mutually exclusive' end @base_url = base_url.chomp('/') @download_url = download_url @access_token = access_token @private_token = private_token end private attr_reader :base_url, :download_url, :access_token, :private_token def user_agent UniversalGitClient.config.user_agent end def default_elements_per_page UniversalGitClient.config.default_pagination end def logger UniversalGitClient.config.logger end def log_level UniversalGitClient.config.log_level end def log_format UniversalGitClient.config.log_format end def default_options { logger: logger, log_level: log_level, log_format: log_format, base_uri: base_url, headers: { 'Accept' => 'application/json', 'Content-Type' => 'application/json', 'Authorization' => (access_token ? "Bearer #{access_token}" : nil), 'Private-Token' => private_token, 'User-Agent' => user_agent, }.compact, } end def down_default_options options = default_options[:headers].reject { |k, _v| %w[Accept Content-Type].include?(k) } options.reject { |k, _v| [:base_uri, :logger, :log_level, :log_format].include?(k) } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
universal-git-client-1.2.4 | lib/universal-git-client/http/base.rb |