Sha256: 96079c16ef88652c1c3333a3cfa64f8e67c7857b89b62a9da9a341e50918b29f

Contents?: true

Size: 714 Bytes

Versions: 105

Compression:

Stored size: 714 Bytes

Contents

require 'ostruct'

module HttpRequestTestHelper
  def http_request(method, uri, options = {})
    begin
      uri = URI.parse(uri)
    rescue
      uri = Addressable::URI.heuristic_parse(uri)
    end
    response = nil
    clazz = ::Net::HTTP.const_get("#{method.to_s.capitalize}")
    req = clazz.new("#{uri.path}#{uri.query ? '?' : ''}#{uri.query}", options[:headers])
    req.basic_auth uri.user, uri.password if uri.user
    http = ::Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true if uri.scheme == "https"
    response = http.start {|http|
      http.request(req, options[:body])
    }
    OpenStruct.new({
      body: response.body,
      headers: response,
      status: response.code })
  end
end

Version data entries

105 entries across 99 versions & 8 rubygems

Version Path
vagrant-unbundled-2.2.6.0 vendor/bundle/ruby/2.6.0/gems/webmock-2.3.2/test/http_request.rb
webmock-3.7.6 test/http_request.rb
webmock-3.7.5 test/http_request.rb
webmock-3.7.4 test/http_request.rb
webmock-3.7.3 test/http_request.rb
vagrant-unbundled-2.2.5.0 vendor/bundle/ruby/2.5.0/gems/webmock-2.3.2/test/http_request.rb
vagrant-unbundled-2.2.5.0 vendor/bundle/ruby/2.6.0/gems/webmock-2.3.2/test/http_request.rb
webmock-3.7.2 test/http_request.rb
webmock-3.7.1 test/http_request.rb
webmock-3.7.0 test/http_request.rb
webmock-3.6.2 test/http_request.rb
webmock-3.6.0 test/http_request.rb
vagrant-unbundled-2.2.4.0 vendor/bundle/ruby/2.5.0/gems/webmock-2.3.2/test/http_request.rb
vagrant-unbundled-2.2.4.0 vendor/bundle/ruby/2.6.0/gems/webmock-2.3.2/test/http_request.rb
vagrant-unbundled-2.2.3.0 vendor/bundle/ruby/2.5.0/gems/webmock-2.3.2/test/http_request.rb
webmock-3.5.1 test/http_request.rb
webmock-3.5.0 test/http_request.rb
vagrant-unbundled-2.2.2.0 vendor/bundle/ruby/2.5.0/gems/webmock-2.3.2/test/http_request.rb
vagrant-unbundled-2.2.0.0 vendor/bundle/ruby/2.5.0/gems/webmock-2.3.2/test/http_request.rb
vagrant-unbundled-2.1.4.0 vendor/bundle/ruby/2.5.0/gems/webmock-2.3.2/test/http_request.rb