lib/fake_net_http.rb in chrisk-fakeweb-1.1.2.3 vs lib/fake_net_http.rb in chrisk-fakeweb-1.1.2.4
- old
+ new
@@ -51,10 +51,15 @@
alias :original_net_http_request :request
alias :original_net_http_connect :connect
def request(req, body = nil, &block)
prot = use_ssl ? "https" : "http"
- uri = "#{prot}://#{self.address}:#{self.port}#{req.path}"
+
+ path = req.path
+ path = URI.parse(req.path).request_uri if req.path =~ /^http/
+
+ uri = "#{prot}://#{self.address}:#{self.port}#{path}"
+
if FakeWeb.registered_uri?(uri)
@socket = Net::HTTP.socket_type.new
return FakeWeb.response_for(uri, &block)
else
original_net_http_connect