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