class WebMock::HttpLibAdapters::NetHttpAdapter
def request(request, body = nil, &block)
def request(request, body = nil, &block) request_signature = WebMock::NetHTTPUtility.request_signature_from_request(self, request, body) WebMock::RequestRegistry.instance.requested_signatures.put(request_signature) if webmock_response = WebMock::StubRegistry.instance.response_for_request(request_signature) @socket = Net::HTTP.socket_type.new WebMock::CallbackRegistry.invoke_callbacks( {lib: :net_http}, request_signature, webmock_response) build_net_http_response(webmock_response, request.uri, &block) elsif WebMock.net_connect_allowed?(request_signature.uri) check_right_http_connection after_request = lambda do |response| if WebMock::CallbackRegistry.any_callbacks? webmock_response = build_webmock_response(response) WebMock::CallbackRegistry.invoke_callbacks( {lib: :net_http, real_request: true}, request_signature, webmock_response) end response.extend Net::WebMockHTTPResponse block.call response if block response end super_with_after_request = lambda { response = super(request, nil, &nil) after_request.call(response) } if started? ensure_actual_connection super_with_after_request.call else start_with_connect { super_with_after_request.call } end else raise WebMock::NetConnectNotAllowedError.new(request_signature) end end