Move webclient cert appending to separate method

This commit is contained in:
Karl Erik Õunapuu 2020-12-21 17:43:11 +02:00
parent aac7a63487
commit aff8e025bc
No known key found for this signature in database
GPG key ID: C9DD647298A34764

View file

@ -2,39 +2,21 @@ class ReppApi
def self.bulk_renew(domains, period, registrar)
payload = { domains: domains, renew_period: period }
uri = URI.parse("#{ENV['repp_url']}domains/renew/bulk")
request = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
request.body = payload.to_json
request.basic_auth(registrar.username, registrar.plain_text_password)
req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
req.body = payload.to_json
if Rails.env.test?
response =
Net::HTTP.start(uri.hostname, uri.port,
use_ssl: (uri.scheme == 'https'),
verify_mode: OpenSSL::SSL::VERIFY_NONE) do |http|
http.request(request)
end
elsif Rails.env.development?
client_cert = File.read(ENV['cert_path'])
client_key = File.read(ENV['key_path'])
response =
Net::HTTP.start(uri.hostname, uri.port,
use_ssl: (uri.scheme == 'https'),
verify_mode: OpenSSL::SSL::VERIFY_NONE,
cert: OpenSSL::X509::Certificate.new(client_cert),
key: OpenSSL::PKey::RSA.new(client_key)) do |http|
http.request(request)
end
else
client_cert = File.read(ENV['cert_path'])
client_key = File.read(ENV['key_path'])
response =
Net::HTTP.start(uri.hostname, uri.port,
use_ssl: (uri.scheme == 'https'),
cert: OpenSSL::X509::Certificate.new(client_cert),
key: OpenSSL::PKey::RSA.new(client_key)) do |http|
http.request(request)
end
ReppApi.request(req, uri, registrar: registrar).body
end
def self.request(request, uri, registrar:)
request.basic_auth(registrar.username, registrar.plain_text_password) if registrar
http = Net::HTTP.start(uri.hostname, uri.port, use_ssl: (uri.scheme == 'https'))
unless Rails.env.test?
http.cert = OpenSSL::X509::Certificate.new(File.read(ENV['cert_path']))
http.key = OpenSSL::PKey::RSA.new(File.read(ENV['key_path']))
end
response.body
http.verify_mode = OpenSSL::SSL::VERIFY_NONE if Rails.env.development? || Rails.env.test?
http.request(request)
end
end