Sha256: a8e32a54dc378aecff9e3b94e171ba0458947cece60fc668a8ca4a45c5587c32
Contents?: true
Size: 1.32 KB
Versions: 6
Compression:
Stored size: 1.32 KB
Contents
require 'ostruct' module ExconSpecHelper def http_request(method, uri, options = {}, &block) Excon.defaults[:ssl_verify_peer] = false uri = Addressable::URI.heuristic_parse(uri) uri = uri.to_s.gsub(' ', '%20') excon_options = {} if basic_auth = options.delete(:basic_auth) excon_options = {user: basic_auth[0], password: basic_auth[1]} end if Gem::Version.new(Excon::VERSION) < Gem::Version.new("0.29.0") options = options.merge(:method => method, :nonblock => false) # Dup and merge response = Excon.new(uri, excon_options).request(options, &block) else options = options.merge(:method => method) # Dup and merge response = Excon.new(uri, excon_options.merge(nonblock: false)).request(options, &block) end headers = WebMock::Util::Headers.normalize_headers(response.headers) headers = headers.inject({}) do |res, (name, value)| res[name] = value.is_a?(Array) ? value.flatten.join(', ') : value res end OpenStruct.new \ :body => response.body, :headers => headers, :status => response.status.to_s, :message => "" end def client_timeout_exception_class Excon::Errors::Timeout end def connection_refused_exception_class Excon::Errors::SocketError end def http_library :excon end end
Version data entries
6 entries across 6 versions & 1 rubygems