class ActiveEndpoint::Storage

Constants

LOGGING_FIELDS
STORING_FIELDS

Public Class Methods

clean!(endpoint, period) click to toggle source
# File lib/active_endpoint/storage.rb, line 77
def clean!(endpoint, period)
  ActiveEndpoint::Probe.registred.probe(endpoint).taken_before(period).destroy_all
end
handle_creation(probe) click to toggle source
# File lib/active_endpoint/storage.rb, line 71
def handle_creation(probe)
  probe.save
rescue => error
  ActiveEndpoint.logger.error('ActiveEndpoint::Probe', error)
end
notifier() click to toggle source
# File lib/active_endpoint/storage.rb, line 40
def notifier
  ActiveSupport::Notifications
end
probe_params(transaction_id, probe) click to toggle source
# File lib/active_endpoint/storage.rb, line 44
def probe_params(transaction_id, probe)
  request = probe.delete(:request)
  request_body = request.delete(:body)

  response = probe.delete(:response)
  response_body = response.present? ? response[:body] : nil

  params = {
    uuid: transaction_id,
    response: response_body ? Base64.encode64(response_body) : '',
    started_at: probe[:created_at],
    finished_at: probe[:finished_at],
    duration: probe[:finished_at] ? (probe[:finished_at] - probe[:created_at]).second.round(3) : 0,
    body: request_body.is_a?(Puma::NullIO) ? '' : request_body
  }.merge(request)

  [params.dup.except(*LOGGING_FIELDS), params.dup.except(*STORING_FIELDS)]
end
register!(params) click to toggle source
# File lib/active_endpoint/storage.rb, line 67
def register!(params)
  handle_creation(ActiveEndpoint::UnregistredProbe.new(params.merge(endpoint: :unregistred)))
end
store!(params) click to toggle source
# File lib/active_endpoint/storage.rb, line 63
def store!(params)
  handle_creation(ActiveEndpoint::Probe.new(params))
end