Public Class methods
new(*)
[show source]
# File lib/httpx/adapters/webmock.rb 92 def initialize(*) 93 super 94 @mocked = true 95 end
Public Instance methods
interests()
[show source]
# File lib/httpx/adapters/webmock.rb 103 def interests 104 return if @mocked 105 106 super 107 end
open?()
[show source]
# File lib/httpx/adapters/webmock.rb 97 def open? 98 return true if @mocked 99 100 super 101 end
send(request)
[show source]
# File lib/httpx/adapters/webmock.rb 113 def send(request) 114 request_signature = Plugin.build_webmock_request_signature(request) 115 WebMock::RequestRegistry.instance.requested_signatures.put(request_signature) 116 117 if (mock_response = WebMock::StubRegistry.instance.response_for_request(request_signature)) 118 response = Plugin.build_from_webmock_response(request, mock_response) 119 WebMock::CallbackRegistry.invoke_callbacks({ lib: :httpx }, request_signature, mock_response) 120 log { "mocking #{request.uri} with #{mock_response.inspect}" } 121 request.transition(:headers) 122 request.transition(:body) 123 request.transition(:trailers) 124 request.transition(:done) 125 response.finish! 126 request.response = response 127 request.emit(:response, response) 128 request_signature.headers = request.headers.to_h 129 130 response << mock_response.body.dup unless response.is_a?(HTTPX::ErrorResponse) 131 elsif WebMock.net_connect_allowed?(request_signature.uri) 132 if WebMock::CallbackRegistry.any_callbacks? 133 request.on(:response) do |resp| 134 unless resp.is_a?(HTTPX::ErrorResponse) 135 webmock_response = Plugin.build_webmock_response(request, resp) 136 WebMock::CallbackRegistry.invoke_callbacks( 137 { lib: :httpx, real_request: true }, request_signature, 138 webmock_response 139 ) 140 end 141 end 142 end 143 @mocked = false 144 emit(:unmock_connection, self) 145 super 146 else 147 raise WebMock::NetConnectNotAllowedError, request_signature 148 end 149 end
terminate()
[show source]
# File lib/httpx/adapters/webmock.rb 109 def terminate 110 force_reset 111 end