lib/async/http/relative_location.rb in async-http-0.56.5 vs lib/async/http/relative_location.rb in async-http-0.56.6

- old
+ new

@@ -26,15 +26,15 @@ module Async module HTTP class TooManyRedirects < StandardError end - + # A client wrapper which transparently handles both relative and absolute redirects to a given maximum number of hops. class RelativeLocation < ::Protocol::HTTP::Middleware DEFAULT_METHOD = GET - + # maximum_hops is the max number of redirects. Set to 0 to allow 1 request with no redirects. def initialize(app, maximum_hops = 3) super(app) @maximum_hops = maximum_hops @@ -49,10 +49,10 @@ # We need to cache the body as it might be submitted multiple times. request.finish while hops <= @maximum_hops response = super(request) - + if response.redirection? hops += 1 response.finish location = response.headers['location']