Sha256: 11fd77c0ed82b1914bdb680b97a78598d5cb4085b9abf672cb54df2eb08b548a

Contents?: true

Size: 1 KB

Versions: 20

Compression:

Stored size: 1 KB

Contents

require "skylight/formatters/http"

module Skylight
  module Normalizers
    module Faraday
      class Request < Normalizer
        register "request.faraday"

        DISABLED_KEY = :__skylight_faraday_disabled

        def self.disable
          old_value = Thread.current[DISABLED_KEY]
          Thread.current[DISABLED_KEY] = true
          yield
        ensure
          Thread.current[DISABLED_KEY] = old_value
        end

        def disabled?
          !!Thread.current[DISABLED_KEY]
        end

        def normalize(_trace, _name, payload)
          uri = payload[:url]

          return :skip if disabled?

          opts = Formatters::HTTP.build_opts(payload[:method], uri.scheme, uri.host, uri.port, uri.path, uri.query)
          description = opts[:title]

          # We use "Faraday" as the title to differentiate it in the UI in
          # case it's wrapping or is wrapped by another HTTP backend
          [opts[:category], "Faraday", description, opts[:meta]]
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
skylight-6.1.0.beta lib/skylight/normalizers/faraday/request.rb
skylight-6.0.4 lib/skylight/normalizers/faraday/request.rb
skylight-6.0.3 lib/skylight/normalizers/faraday/request.rb
skylight-5.3.5 lib/skylight/normalizers/faraday/request.rb
skylight-6.0.2 lib/skylight/normalizers/faraday/request.rb
skylight-6.0.1 lib/skylight/normalizers/faraday/request.rb
skylight-6.0.0 lib/skylight/normalizers/faraday/request.rb
skylight-6.0.0.beta2 lib/skylight/normalizers/faraday/request.rb
skylight-6.0.0.beta lib/skylight/normalizers/faraday/request.rb
skylight-5.3.4 lib/skylight/normalizers/faraday/request.rb
skylight-5.3.3 lib/skylight/normalizers/faraday/request.rb
skylight-5.3.2 lib/skylight/normalizers/faraday/request.rb
skylight-5.3.1 lib/skylight/normalizers/faraday/request.rb
skylight-5.3.0 lib/skylight/normalizers/faraday/request.rb
skylight-5.2.0 lib/skylight/normalizers/faraday/request.rb
skylight-5.2.0.beta2 lib/skylight/normalizers/faraday/request.rb
skylight-5.2.0.beta lib/skylight/normalizers/faraday/request.rb
skylight-5.1.1 lib/skylight/normalizers/faraday/request.rb
skylight-5.1.0.beta3 lib/skylight/normalizers/faraday/request.rb
skylight-5.1.0.beta2 lib/skylight/normalizers/faraday/request.rb