Class: Net::HTTP

Inherits:
Object
  • Object
show all
Defined in:
lib/fake_web/ext/net_http.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.socket_type_with_fakewebObject Also known as: socket_type


20
21
22
# File 'lib/fake_web/ext/net_http.rb', line 20

def socket_type_with_fakeweb
  FakeWeb::StubSocket
end

Instance Method Details

#connect_with_fakewebObject Also known as: connect


50
51
52
53
54
55
56
# File 'lib/fake_web/ext/net_http.rb', line 50

def connect_with_fakeweb
  unless @@alredy_checked_for_net_http_replacement_libs ||= false
    FakeWeb::Utility.puts_warning_for_net_http_replacement_libs_if_needed
    @@alredy_checked_for_net_http_replacement_libs = true
  end
  nil
end

#request_with_fakeweb(request, body = nil, &block) ⇒ Object Also known as: request


27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/fake_web/ext/net_http.rb', line 27

def request_with_fakeweb(request, body = nil, &block)
  FakeWeb.last_request = request

  uri = FakeWeb::Utility.request_uri_as_string(self, request)
  method = request.method.downcase.to_sym

  if FakeWeb.registered_uri?(method, uri)
    @socket = Net::HTTP.socket_type.new
    FakeWeb::Utility.produce_side_effects_of_net_http_request(request, body)
    FakeWeb.response_for(method, uri, &block)
  elsif FakeWeb.allow_net_connect?(uri)
    connect_without_fakeweb
    request_without_fakeweb(request, body, &block)
  else
    uri = FakeWeb::Utility.strip_default_port_from_uri(uri)
    raise FakeWeb::NetConnectNotAllowedError,
          "Real HTTP connections are disabled. Unregistered request: #{request.method} #{uri}"
  end
end