class RequestLog
Public Class Methods
from_request(request)
click to toggle source
# File lib/rails_api_logger/request_log.rb, line 14 def self.from_request(request) request_body = (request.body.respond_to?(:read) ? request.body.read : request.body) body = request_body ? request_body.dup.force_encoding("UTF-8") : nil begin body = JSON.parse(body) if body.present? rescue JSON::ParserError body end create(path: request.path, request_body: body, method: request.method, started_at: Time.current) end
Public Instance Methods
duration()
click to toggle source
# File lib/rails_api_logger/request_log.rb, line 48 def duration return if started_at.nil? || ended_at.nil? ended_at - started_at end
formatted_body(body)
click to toggle source
# File lib/rails_api_logger/request_log.rb, line 33 def formatted_body(body) if body.is_a?(Hash) JSON.pretty_generate(body) else xml = Nokogiri::XML(body) if xml.errors.any? body else xml.to_xml(indent: 2) end end rescue body end
formatted_request_body()
click to toggle source
# File lib/rails_api_logger/request_log.rb, line 25 def formatted_request_body formatted_body(request_body) end
formatted_response_body()
click to toggle source
# File lib/rails_api_logger/request_log.rb, line 29 def formatted_response_body formatted_body(response_body) end