around_http_request hook
The around_http_request
hook wraps each HTTP request. It can be used rather than separate before_http_request
and after_http_request
hooks to simplify wrapping/transactional logic (such as using a VCR cassette).
In your block, call #proceed
on the yielded request to cause it to continue. Alternately, you can treat the request as a proc and pass it on to a method that expects a block by prefixing it with an ampersand (&request
).
Note that around_http_request
will not work on Ruby 1.8. It uses a fiber under the covers and thus is only available on interpreters that support fibers. On 1.8, you can use separate before_http_request
and after_http_request
hooks.
globally handle requests using an around_http_request hook
Given a file named "globally_handle_requests.rb" with:
When I run ruby globally_handle_requests.rb
Then it should pass with:
And the file "cassettes/global.yml" should contain "Response 1".
Examples
configuration
http_lib
c.hook_into :webmock
net/http
c.hook_into :webmock
httpclient
c.hook_into :webmock
curb
c.hook_into :typhoeus
typhoeus
c.hook_into :excon
excon
c.hook_into :faraday
faraday (w/ net_http)
Last updated