From 3c59eedb9b778604f68db6bb685f70147a1fe9bd Mon Sep 17 00:00:00 2001 From: Matt Martz Date: Mon, 7 Mar 2016 15:34:22 -0600 Subject: [PATCH] Don't pass follow_redirects to fetch_url, use module.params instead --- network/basics/uri.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/network/basics/uri.py b/network/basics/uri.py index 92d7dd5871a..2e4ca00dd10 100644 --- a/network/basics/uri.py +++ b/network/basics/uri.py @@ -298,12 +298,16 @@ def uri(module, url, dest, body, body_format, method, headers, socket_timeout): redir_info = {} r = {} if dest is not None: + # Stash follow_redirects, in this block we don't want to follow + # we'll reset back to the supplied value soon + follow_redirects = module.params['follow_redirects'] + module.params['follow_redirects'] = False dest = os.path.expanduser(dest) if os.path.isdir(dest): # first check if we are redirected to a file download _, redir_info = fetch_url(module, url, data=body, headers=headers, - method=method, follow_redirects=None, + method=method, timeout=socket_timeout) # if we are redirected, update the url with the location header, # and update dest with the new url filename @@ -317,6 +321,9 @@ def uri(module, url, dest, body, body_format, method, headers, socket_timeout): tstamp = t.strftime('%a, %d %b %Y %H:%M:%S +0000') headers['If-Modified-Since'] = tstamp + # Reset follow_redirects back to the stashed value + module.params['follow_redirects'] = follow_redirects + resp, info = fetch_url(module, url, data=body, headers=headers, method=method, timeout=socket_timeout) r['redirected'] = redirected or info['url'] != url