class RESTinPeace::Faraday::SSLConfigCreator

Public Class Methods

new(config, verify = :peer) click to toggle source
# File lib/rest_in_peace/faraday/ssl_config_creator.rb, line 8
def initialize(config, verify = :peer)
  @config = config
  @verify = verify

  raise MissingParam, 'Specify :ca_cert in ssl options' unless @config[:ca_cert]
  raise MissingParam, 'Specify :client_key in ssl options' unless @config[:client_key]
  raise MissingParam, 'Specify :client_cert in ssl options' unless @config[:client_cert]
end

Public Instance Methods

ca_cert_path() click to toggle source
# File lib/rest_in_peace/faraday/ssl_config_creator.rb, line 42
def ca_cert_path
  path(@config[:ca_cert])
end
client_cert() click to toggle source
# File lib/rest_in_peace/faraday/ssl_config_creator.rb, line 26
def client_cert
  OpenSSL::X509::Certificate.new(open_file(client_cert_path))
end
client_cert_path() click to toggle source
# File lib/rest_in_peace/faraday/ssl_config_creator.rb, line 30
def client_cert_path
  path(@config[:client_cert])
end
client_key() click to toggle source
# File lib/rest_in_peace/faraday/ssl_config_creator.rb, line 34
def client_key
  OpenSSL::PKey::RSA.new open_file(client_key_path), @config[:client_key_passphrase]
end
client_key_path() click to toggle source
# File lib/rest_in_peace/faraday/ssl_config_creator.rb, line 38
def client_key_path
  path(@config[:client_key])
end
faraday_options() click to toggle source
# File lib/rest_in_peace/faraday/ssl_config_creator.rb, line 17
def faraday_options
  {
    client_cert: client_cert,
    client_key: client_key,
    ca_file: ca_cert_path,
    verify_mode: verify_mode,
  }
end
verify_mode() click to toggle source
# File lib/rest_in_peace/faraday/ssl_config_creator.rb, line 46
def verify_mode
  case @verify
  when :peer
    OpenSSL::SSL::VERIFY_PEER
  else
    raise "Unknown verify variant '#{@verify}'"
  end
end

Private Instance Methods

open_file(file) click to toggle source
# File lib/rest_in_peace/faraday/ssl_config_creator.rb, line 57
def open_file(file)
  File.open(file)
end
path(file) click to toggle source
# File lib/rest_in_peace/faraday/ssl_config_creator.rb, line 61
def path(file)
  File.join(file)
end