Class: Net::HTTP
- Inherits:
-
Object
- Object
- Net::HTTP
- Defined in:
- lib/fake_web/ext/net_http.rb
Class Method Summary collapse
Instance Method Summary collapse
- #connect ⇒ Object
- #original_net_http_connect ⇒ Object
- #original_net_http_request ⇒ Object
- #request(request, body = nil, &block) ⇒ Object
Class Method Details
.socket_type ⇒ Object
25 26 27 |
# File 'lib/fake_web/ext/net_http.rb', line 25 def self.socket_type FakeWeb::StubSocket end |
Instance Method Details
#connect ⇒ Object
55 56 |
# File 'lib/fake_web/ext/net_http.rb', line 55 def connect end |
#original_net_http_connect ⇒ Object
30 |
# File 'lib/fake_web/ext/net_http.rb', line 30 alias :original_net_http_connect :connect |
#original_net_http_request ⇒ Object
29 |
# File 'lib/fake_web/ext/net_http.rb', line 29 alias :original_net_http_request :request |
#request(request, body = nil, &block) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/fake_web/ext/net_http.rb', line 32 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/ userinfo = Base64.decode64(request['authorization'].split.last) rescue nil uri = "#{protocol}://#{"#{userinfo}@" if userinfo}#{self.address}:#{self.port}#{path}" method = request.method.downcase.to_sym if FakeWeb.registered_uri?(method, uri) @socket = Net::HTTP.socket_type.new FakeWeb.response_for(method, uri, &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 |