HTTPX
plugin for webmock.
Requests are “hijacked” at the session, before they’re distributed to a connection.
Methods
Public Class
Classes and Modules
Public Class methods
build_error_response(request, exception)
[show source]
# File lib/httpx/adapters/webmock.rb 49 def build_error_response(request, exception) 50 HTTPX::ErrorResponse.new(request, exception) 51 end
build_from_webmock_response(request, webmock_response)
[show source]
# File lib/httpx/adapters/webmock.rb 36 def build_from_webmock_response(request, webmock_response) 37 return build_error_response(request, HTTPX::TimeoutError.new(1, "Timed out")) if webmock_response.should_timeout 38 39 return build_error_response(request, webmock_response.exception) if webmock_response.exception 40 41 request.options.response_class.new(request, 42 webmock_response.status[0], 43 "2.0", 44 webmock_response.headers).tap do |res| 45 res.mocked = true 46 end 47 end
build_webmock_request_signature(request)
[show source]
# File lib/httpx/adapters/webmock.rb 15 def build_webmock_request_signature(request) 16 uri = WebMock::Util::URI.heuristic_parse(request.uri) 17 uri.query = request.query 18 uri.path = uri.normalized_path.gsub("[^:]//", "/") 19 20 WebMock::RequestSignature.new( 21 request.verb.downcase.to_sym, 22 uri.to_s, 23 body: request.body.to_s, 24 headers: request.headers.to_h 25 ) 26 end
build_webmock_response(_request, response)
[show source]
# File lib/httpx/adapters/webmock.rb 28 def build_webmock_response(_request, response) 29 webmock_response = WebMock::Response.new 30 webmock_response.status = [response.status, HTTP_REASONS[response.status]] 31 webmock_response.body = response.body.to_s 32 webmock_response.headers = response.headers.to_h 33 webmock_response 34 end