Sha256: b7b456739e32823deef4d8f3611bee0399fb2479fdcb65033597077ab757cc95
Contents?: true
Size: 1.58 KB
Versions: 7
Compression:
Stored size: 1.58 KB
Contents
# encoding: utf-8 # This file is distributed under New Relic's license terms. # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details. # frozen_string_literal: true require_relative 'abstract' module NewRelic module Agent module HTTPClients class CurbRequest CURB = 'Curb' LHOST = 'host' UHOST = 'Host' 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 ||= URIUtil.parse_and_normalize_url(@curlobj.url) end end class CurbResponse < AbstractResponse def initialize wrapped_response super wrapped_response @headers = {} 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 @wrapped_response._nr_header_str ||= String.new @wrapped_response._nr_header_str << data end private def get_status_code get_status_code_using :response_code end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems