From cadb0a65bb9615863ca0ebc49fcfea17b52e4373 Mon Sep 17 00:00:00 2001 From: Sergei Tsoganov Date: Wed, 23 Nov 2022 13:14:31 +0200 Subject: [PATCH] Fixed codeclimate issues --- app/controllers/concerns/epp_requestable.rb | 40 +++++++++++-------- .../v1/registrar/xml_console_controller.rb | 6 ++- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/app/controllers/concerns/epp_requestable.rb b/app/controllers/concerns/epp_requestable.rb index 8243bfa40..87f441d46 100644 --- a/app/controllers/concerns/epp_requestable.rb +++ b/app/controllers/concerns/epp_requestable.rb @@ -15,23 +15,9 @@ module EppRequestable private def validate_epp_user - tag = current_user.username - password = current_user.plain_text_password - res = server.open_connection - unless Nokogiri::XML(res).css('greeting') - server.close_connection # just in case - handle_non_epp_errors(nil, I18n.t('errors.messages.failed_epp_conn')) - return - end - - ex = EppXml::Session.new(cl_trid_prefix: tag) - xml = ex.login(clID: { value: tag }, pw: { value: password }) - res = server.send_request(xml) - - if Nokogiri::XML(res).css('result').first['code'] != '1000' - handle_non_epp_errors(nil, Nokogiri::XML(res).css('result').text) - end + return unless handle_hello_request + handle_login_request server.close_connection rescue OpenSSL::SSL::SSLError => e Rails.logger.error "INVALID CERT: #{e}" @@ -40,6 +26,26 @@ module EppRequestable handle_non_epp_errors(nil, I18n.t('errors.messages.invalid_cert')) end + def handle_hello_request + res = server.open_connection + unless Nokogiri::XML(res).css('greeting') + server.close_connection # just in case + handle_non_epp_errors(nil, I18n.t('errors.messages.failed_epp_conn')) and return false + end + true + end + + def handle_login_request + tag = current_user.username + ex = EppXml::Session.new(cl_trid_prefix: tag) + xml = ex.login(clID: { value: tag }, pw: { value: current_user.plain_text_password }) + res = server.send_request(xml) + + return if Nokogiri::XML(res).css('result').first['code'] == '1000' + + handle_non_epp_errors(nil, Nokogiri::XML(res).css('result').text) + end + def server client_cert = File.read(ENV['cert_path']) client_key = File.read(ENV['key_path']) @@ -54,4 +60,4 @@ module EppRequestable def request_params params.require(:xml_console).permit(:payload) end -end \ No newline at end of file +end diff --git a/app/controllers/repp/v1/registrar/xml_console_controller.rb b/app/controllers/repp/v1/registrar/xml_console_controller.rb index f5d42423b..e022a31a6 100644 --- a/app/controllers/repp/v1/registrar/xml_console_controller.rb +++ b/app/controllers/repp/v1/registrar/xml_console_controller.rb @@ -13,8 +13,10 @@ module Repp def load_xml cl_trid = "#{current_user.username}-#{Time.zone.now.to_i}" + obj = ActionController::Base.helpers.sanitize(params[:obj]) + epp_action = ActionController::Base.helpers.sanitize(params[:epp_action]) xml_dir_path = Rails.root.join('app/views/epp/sample_requests').to_s - xml = File.read("#{xml_dir_path}/#{params[:obj]}/#{params[:epp_action]}.xml") + xml = File.read("#{xml_dir_path}/#{obj}/#{epp_action}.xml") xml = prepare_payload(xml, cl_trid) render_success(data: { xml: xml }) @@ -52,4 +54,4 @@ module Repp end end end -end \ No newline at end of file +end