Sha256: 5069146cd04993f08591b2cb5f7284c12caf1f8d4104f7f141a95f54a78ba5c1

Contents?: true

Size: 1.42 KB

Versions: 5

Compression:

Stored size: 1.42 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

module NewRelic
  module Agent
    module HTTPClients

      class CurbRequest
        CURB = 'Curb'.freeze
        LHOST = 'host'.freeze
        UHOST = 'Host'.freeze

        def initialize( curlobj )
          @curlobj = curlobj
        end

        def type
          CURB
        end

        def host_from_header
          self[LHOST] || self[UHOST]
        end

        def host
          host_from_header || self.uri.host
        end

        def method
          @curlobj._nr_http_verb
        end

        def []( key )
          @curlobj.headers[ key ]
        end

        def []=( key, value )
          @curlobj.headers[ key ] = value
        end

        def uri
          @uri ||= NewRelic::Agent::HTTPClients::URIUtil.parse_and_normalize_url(@curlobj.url)
        end
      end


      class CurbResponse

        def initialize(curlobj)
          @headers = {}
          @curlobj = curlobj
        end

        def [](key)
          @headers[ key.downcase ]
        end

        def to_hash
          @headers.dup
        end

        def append_header_data( data )
          key, value = data.split( /:\s*/, 2 )
          @headers[ key.downcase ] = value
          @curlobj._nr_header_str ||= ''
          @curlobj._nr_header_str << data
        end

      end

    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
newrelic_rpm-4.5.0.337 lib/new_relic/agent/http_clients/curb_wrappers.rb
newrelic_rpm-4.4.0.336 lib/new_relic/agent/http_clients/curb_wrappers.rb
newrelic_rpm-4.3.0.335 lib/new_relic/agent/http_clients/curb_wrappers.rb
newrelic_rpm-4.2.0.334 lib/new_relic/agent/http_clients/curb_wrappers.rb
newrelic_rpm-4.1.0.333 lib/new_relic/agent/http_clients/curb_wrappers.rb