31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/fake_web/ext/net_http.rb', line 31
def request(request, body = nil, &block)
protocol = use_ssl ? "https" : "http"
path = request.path
path = URI.parse(request.path).request_uri if request.path =~ /^http/
uri = "#{protocol}://#{self.address}:#{self.port}#{path}"
method = request.method.downcase.to_sym
if registered = FakeWeb::Registry.instance.registered_uri(method, uri)
responder = FakeWeb::Registry.instance.send(:pick_responder, registered)
responder.verify(request)
@socket = Net::HTTP.socket_type.new
responder.response(&block)
elsif FakeWeb.allow_net_connect?
original_net_http_connect
original_net_http_request(request, body, &block)
else
raise FakeWeb::NetConnectNotAllowedError,
"Real HTTP connections are disabled. Unregistered request: #{request.method} #{uri}"
end
end
|