diff --git a/app/controllers/concerns/.keep b/app/controllers/concerns/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/controllers/concerns/epp/common.rb b/app/controllers/concerns/epp/common.rb new file mode 100644 index 000000000..788ef91be --- /dev/null +++ b/app/controllers/concerns/epp/common.rb @@ -0,0 +1,15 @@ +module Epp::Common + extend ActiveSupport::Concern + + included do + protect_from_forgery with: :null_session + end + + def proxy + send(params[:command]) + end + + def parsed_frame + Nokogiri::XML(params[:frame]).remove_namespaces! + end +end diff --git a/app/controllers/epp/sessions_controller.rb b/app/controllers/epp/sessions_controller.rb index 2fa55d020..61121fe15 100644 --- a/app/controllers/epp/sessions_controller.rb +++ b/app/controllers/epp/sessions_controller.rb @@ -1,9 +1,6 @@ class Epp::SessionsController < ApplicationController - protect_from_forgery with: :null_session - - def proxy - send(params[:command]) - end + include Epp::Common + include Epp::SessionsHelper private def hello @@ -11,11 +8,7 @@ class Epp::SessionsController < ApplicationController end def login - login_params = parsed_frame.css('epp command login') - username = login_params.css('clID').text - password = login_params.css('pw').text - - @epp_user = EppUser.find_by(username: username, password: password) + @epp_user = EppUser.find_by(login_params) if @epp_user.try(:active) render 'login_success' @@ -24,8 +17,4 @@ class Epp::SessionsController < ApplicationController render 'login_fail' end end - - def parsed_frame - Nokogiri::XML(params[:frame]).remove_namespaces! - end end diff --git a/app/helpers/epp/sessions_helper.rb b/app/helpers/epp/sessions_helper.rb new file mode 100644 index 000000000..dda0724fc --- /dev/null +++ b/app/helpers/epp/sessions_helper.rb @@ -0,0 +1,6 @@ +module Epp::SessionsHelper + def login_params + login_params = parsed_frame.css('epp command login') + { username: login_params.css('clID').text, password: login_params.css('pw').text } + end +end