# File lib/webmock/http_lib_adapters/httpclient.rb, line 65
65: def build_httpclient_response(webmock_response, stream = false, &block)
66: body = stream ? StringIO.new(webmock_response.body) : webmock_response.body
67: response = HTTP::Message.new_response(body)
68: response.header.init_response(webmock_response.status[0])
69: response.reason=webmock_response.status[1]
70: webmock_response.headers.to_a.each { |name, value| response.header.set(name, value) }
71:
72: raise HTTPClient::TimeoutError if webmock_response.should_timeout
73: webmock_response.raise_error_if_any
74:
75: block.call(nil, body) if block
76:
77: response
78: end
# File lib/webmock/http_lib_adapters/httpclient.rb, line 5 5: def do_get_block_with_webmock(req, proxy, conn, &block) 6: do_get_with_webmock(req, proxy, conn, false, &block) 7: end
# File lib/webmock/http_lib_adapters/httpclient.rb, line 9
9: def do_get_stream_with_webmock(req, proxy, conn, &block)
10: do_get_with_webmock(req, proxy, conn, true, &block)
11: end
# File lib/webmock/http_lib_adapters/httpclient.rb, line 13
13: def do_get_with_webmock(req, proxy, conn, stream = false, &block)
14: request_signature = build_request_signature(req)
15:
16: WebMock::RequestRegistry.instance.requested_signatures.put(request_signature)
17:
18: if WebMock.registered_request?(request_signature)
19: webmock_response = WebMock.response_for_request(request_signature)
20: response = build_httpclient_response(webmock_response, stream, &block)
21: res = conn.push(response)
22: WebMock::CallbackRegistry.invoke_callbacks(
23: {:lib => :http_client}, request_signature, webmock_response)
24: res
25: elsif WebMock.net_connect_allowed?(request_signature.uri)
26: res = if stream
27: do_get_stream_without_webmock(req, proxy, conn, &block)
28: else
29: do_get_block_without_webmock(req, proxy, conn, &block)
30: end
31: res = conn.pop
32: conn.push(res)
33: if WebMock::CallbackRegistry.any_callbacks?
34: webmock_response = build_webmock_response(res)
35: WebMock::CallbackRegistry.invoke_callbacks(
36: {:lib => :http_client, :real_request => true}, request_signature,
37: webmock_response)
38: end
39: res
40: else
41: raise WebMock::NetConnectNotAllowedError.new(request_signature)
42: end
43: end
# File lib/webmock/http_lib_adapters/httpclient.rb, line 45
45: def do_request_async_with_webmock(method, uri, query, body, extheader)
46: req = create_request(method, uri, query, body, extheader)
47: request_signature = build_request_signature(req)
48:
49: if WebMock.registered_request?(request_signature) || WebMock.net_connect_allowed?(request_signature.uri)
50: do_request_async_without_webmock(method, uri, query, body, extheader)
51: else
52: raise WebMock::NetConnectNotAllowedError.new(request_signature)
53: end
54: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.