Faraday::Middleware
Public: Follow HTTP 30x redirects.
Default value for max redirects followed
TODO: 307 & standards-compliant 302
Public: Initialize the middleware.
options - An options Hash (default: {}):
limit - A Numeric redirect limit (default: 3)
# File lib/faraday_middleware/response/follow_redirects.rb, line 24 def initialize(app, options = {}) super(app) @options = options end
# File lib/faraday_middleware/response/follow_redirects.rb, line 29 def call(env) process_response(@app.call(env), follow_limit) end
# File lib/faraday_middleware/response/follow_redirects.rb, line 49 def follow_limit @options.fetch(:limit, FOLLOW_LIMIT) end
# File lib/faraday_middleware/response/follow_redirects.rb, line 33 def process_response(response, follows) response.on_complete do |env| if redirect? response raise RedirectLimitReached, response if follows.zero? env[:url] += response['location'] env[:method] = :get response = process_response(@app.call(env), follows - 1) end end response end
Generated with the Darkfish Rdoc Generator 2.