class LineLog::RequestDataExtractor
Public Class Methods
call(event, status, began_at)
click to toggle source
# File lib/line_log/request_data_extractor.rb, line 3 def self.call(event, status, began_at) extract_data_from_request(event, status, began_at) end
Private Class Methods
custom_data()
click to toggle source
# File lib/line_log/request_data_extractor.rb, line 31 def self.custom_data LineLog::Customizer.data || {} end
default_data(event, status, began_at)
click to toggle source
# File lib/line_log/request_data_extractor.rb, line 14 def self.default_data(event, status, began_at) { method: event['REQUEST_METHOD'], path: extract_path(event), format: event['HTTP_ACCEPT'], ip: event['HTTP_X_REAL_IP'], status: status, duration: (Time.now - began_at).round(2) } end
extract_data_from_request(event, status, began_at)
click to toggle source
# File lib/line_log/request_data_extractor.rb, line 9 def self.extract_data_from_request(event, status, began_at) data = default_data(event, status, began_at) data.merge!(custom_data) end
extract_path(event)
click to toggle source
# File lib/line_log/request_data_extractor.rb, line 25 def self.extract_path(event) path = event['REQUEST_PATH'] index = path.index('?') index ? path[0, index] : path end