Rake task for making api log schema

This commit is contained in:
Martin Lensment 2015-01-09 16:56:52 +02:00
parent d5a824064e
commit 7b920cac2f
6 changed files with 70 additions and 13 deletions

View file

@ -9,7 +9,7 @@ module Epp::Common
included do
protect_from_forgery with: :null_session
before_action :validate_request, only: [:proxy]
after_action :log_to_epp_log
after_action :write_to_epp_log
helper_method :current_epp_user
end
@ -114,15 +114,20 @@ module Epp::Common
handle_errors and return unless send(validation_method)
end
def log_to_epp_log
def render_epp_response(*args)
@response = render_to_string(*args)
render xml: @response
end
def write_to_epp_log
ApiLog::EppLog.create!({
request: params[:frame],
request_command: params[:command],
request_successful: epp_errors.empty?,
request_object: OBJECT_TYPES[params_hash['epp']['xmlns:ns2']],
response: @response,
api_user_name: current_epp_user.try(:to_s),
api_user_registrar: current_epp_user.try(:registrar).try(:to_s)
api_user_name: @epp_user.try(:to_s) || current_epp_user.try(:to_s),
api_user_registrar: @epp_user.try(:registrar).try(:to_s) || current_epp_user.try(:registrar).try(:to_s)
})
end
end

View file

@ -5,7 +5,7 @@ class Epp::SessionsController < ApplicationController
private
def hello
render 'greeting'
render_epp_response('greeting')
end
def login
@ -13,17 +13,18 @@ class Epp::SessionsController < ApplicationController
if @epp_user.try(:active)
epp_session[:epp_user_id] = @epp_user.id
render 'login_success'
render_epp_response('login_success')
else
response.headers['X-EPP-Returncode'] = '2200'
render 'login_fail'
render_epp_response('login_fail')
end
end
def logout
@epp_user = current_epp_user # cache current_epp_user for logging
epp_session[:epp_user_id] = nil
response.headers['X-EPP-Returncode'] = '1500'
render 'logout'
render_epp_response('logout')
end
### HELPER METHODS ###