Sha256: 5e17e471857abe8c4d13692417e463e39c4b4b0ed5fd4651e5f155c61fb9c597

Contents?: true

Size: 688 Bytes

Versions: 4

Compression:

Stored size: 688 Bytes

Contents

module RailsLiveDashboard
  module Recorders
    class RequestRecorder
      def initialize(event)
        @event = event
      end

      def execute
        Request.create(
          batch_id: RailsLiveDashboard::Context.instance.batch_id,
          content: build_content
        )
      end

      private

      def build_content
        payload = @event.payload
        payload.merge(
          {
            headers: payload[:request].headers.env.reject { |key| key.to_s.include?('.') },
            body: payload[:response]&.body || nil,
            duration: @event.duration.round(2),
            allocations: @event.allocations
          }
        )
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rails_live_dashboard-0.2.0 lib/rails_live_dashboard/recorders/request_recorder.rb
rails_live_dashboard-0.1.2 lib/rails_live_dashboard/recorders/request_recorder.rb
rails_live_dashboard-0.1.1 lib/rails_live_dashboard/recorders/request_recorder.rb
rails_live_dashboard-0.1.0 lib/rails_live_dashboard/recorders/request_recorder.rb