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.1.2.0 vendor/bundle/ruby/2.3.0/gems/webmock-2.3.2/test/http_request.rb
webmock-3.4.2 test/http_request.rb
vagrant-unbundled-2.1.1.0 vendor/bundle/ruby/2.5.0/gems/webmock-2.3.2/test/http_request.rb
vagrant-unbundled-2.0.4.0 vendor/bundle/ruby/2.5.0/gems/webmock-2.3.2/test/http_request.rb
webmock-3.4.1 test/http_request.rb
webmock-3.4.0 test/http_request.rb
vagrant-unbundled-2.0.3.0 vendor/bundle/ruby/2.5.0/gems/webmock-2.3.2/test/http_request.rb
vagrant-unbundled-2.0.2.0 vendor/bundle/ruby/2.4.0/gems/webmock-2.3.2/test/http_request.rb
vagrant-unbundled-2.0.2.0 vendor/bundle/ruby/2.5.0/gems/webmock-2.3.2/test/http_request.rb
webmock-3.3.0 test/http_request.rb
webmock-3.2.1 test/http_request.rb
webmock-3.2.0 test/http_request.rb
vagrant-unbundled-2.0.1.0 vendor/bundle/ruby/2.4.0/gems/webmock-2.3.2/test/http_request.rb
webmock-3.1.1 test/http_request.rb
webmock-3.1.0 test/http_request.rb
logstash-output-icinga-1.1.0 vendor/jruby/2.3.0/gems/webmock-2.3.2/test/http_request.rb
logstash-output-icinga-1.1.0 vendor/jruby/1.9/gems/webmock-2.3.2/test/http_request.rb
logstash-output-icinga-1.0.0 vendor/jruby/1.9/gems/webmock-2.3.2/test/http_request.rb
webmock-3.0.1 test/http_request.rb
webmock-3.0.0 test/http_request.rb