Sha256: 9d38ee3c12d569fe88403ae3008fb1a8dd9d4eadf884f495459fa90d5a82aa7d

Contents?: true

Size: 1.2 KB

Versions: 19

Compression:

Stored size: 1.2 KB

Contents

module Datadog
  module Tracing
    module Contrib
      module Aws
        # A wrapper around Seahorse::Client::RequestContext
        class ParsedContext
          def initialize(context)
            @context = context
          end

          def safely(attr, fallback = nil)
            public_send(attr) rescue fallback
          end

          def resource
            "#{service}.#{operation}"
          end

          def operation
            context.operation_name
          end

          def params
            context.params
          end

          def status_code
            context.http_response.status_code
          end

          def http_method
            context.http_request.http_method
          end

          def region
            context.client.config.region
          end

          def retry_attempts
            context.retries
          end

          def path
            context.http_request.endpoint.path
          end

          def host
            context.http_request.endpoint.host
          end

          private

          attr_reader :context

          def service
            context.client.class.to_s.split('::')[1].downcase
          end
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
ddtrace-1.23.3 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.23.2 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.23.1 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.22.0 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.21.1 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.21.0 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.20.0 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.19.0 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.18.0 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.17.0 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.16.2 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.16.1 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.16.0 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.15.0 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.14.0 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.13.1 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.13.0 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.12.1 lib/datadog/tracing/contrib/aws/parsed_context.rb
ddtrace-1.12.0 lib/datadog/tracing/contrib/aws/parsed_context.rb