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