Sha256: ceffcdddffcd17f30abfcfb83c1b47f178f31a695df330d5567873dcee231571

Contents?: true

Size: 790 Bytes

Versions: 8

Compression:

Stored size: 790 Bytes

Contents

module Vx
  module Instrumentation
    class Faraday < Subscriber

      event 'request.faraday'

      def process
        self.name    = 'request.http'
        self.payload = {
          method:           payload[:method],
          url:              payload[:url].to_s,
          status:           payload[:status],
          response_headers: render_http_header(payload[:response_headers]),
          request_headers:  render_http_header(payload[:request_headers])
        }
      end

      private

        def render_http_header(headers)
          headers.map do |key,value|
            if %{ PRIVATE-TOKEN Authorization }.include?(key)
              value = value.gsub(/./, "*")
            end
            "#{key}: #{value}"
          end.join("\n")
        end

    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
vx-instrumentation-0.0.8 lib/vx/instrumentation/faraday.rb
vx-instrumentation-0.0.7 lib/vx/instrumentation/faraday.rb
vx-instrumentation-0.0.6 lib/vx/instrumentation/faraday.rb
vx-instrumentation-0.0.5 lib/vx/instrumentation/faraday.rb
vx-instrumentation-0.0.4 lib/vx/instrumentation/faraday.rb
vx-instrumentation-0.0.3 lib/vx/instrumentation/faraday.rb
vx-instrumentation-0.0.2 lib/vx/instrumentation/faraday.rb
vx-instrumentation-0.0.1 lib/vx/instrumentation/faraday.rb