Sha256: db15b2ec07306a9d9ba05340219f8fc623a5a6d3ff6b11a1589709568c9acb1b
Contents?: true
Size: 1.92 KB
Versions: 9
Compression:
Stored size: 1.92 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 TyphoeusHTTPResponse < AbstractResponse def [](key) unless headers.nil? result = headers[key] # Typhoeus 0.5.3 has a bug where asking the headers hash for a # non-existent header will return the hash itself, not what we want. result == headers ? nil : result end end def to_hash hash = {} headers.each do |(k, v)| hash[k] = v end hash end private def headers @wrapped_response.headers end end class TyphoeusHTTPRequest < AbstractRequest def initialize(request) @request = request @uri = case request.url when ::URI then request.url else NewRelic::Agent::HTTPClients::URIUtil.parse_and_normalize_url(request.url) end end TYPHOEUS = "Typhoeus".freeze def type TYPHOEUS end LHOST = 'host'.freeze UHOST = 'Host'.freeze def host_from_header self[LHOST] || self[UHOST] end def host host_from_header || @uri.host end GET = 'GET'.freeze def method (@request.options[:method] || GET).to_s.upcase end def [](key) return nil unless @request.options && @request.options[:headers] @request.options[:headers][key] end def []=(key, value) @request.options[:headers] ||= {} @request.options[:headers][key] = value end def uri @uri end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems