Sha256: 616e75267ff22a04868ef4090ccedd2485ce6e78aa2aeba71629435cd9759e87

Contents?: true

Size: 816 Bytes

Versions: 2

Compression:

Stored size: 816 Bytes

Contents

# frozen_string_literal: true

require_relative '../../../instrumentation/gateway/argument'

module Datadog
  module AppSec
    module Contrib
      module Rack
        module Gateway
          # Gateway Response argument.
          class Response < Instrumentation::Gateway::Argument
            attr_reader :body, :status, :headers, :active_context

            def initialize(body, status, headers, active_context:)
              super
              @body = body
              @status = status
              @headers = headers.each_with_object({}) { |(k, v), h| h[k.downcase] = v }
              @active_context = active_context
            end

            def response
              @response ||= ::Rack::Response.new(body, status, headers)
            end
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ddtrace-1.10.1 lib/datadog/appsec/contrib/rack/gateway/response.rb
ddtrace-1.10.0 lib/datadog/appsec/contrib/rack/gateway/response.rb