diff --git a/app/models/repp_api.rb b/app/models/repp_api.rb index 15ded62c5..92e7a22c7 100644 --- a/app/models/repp_api.rb +++ b/app/models/repp_api.rb @@ -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