1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Fix redirects for get_url

* fetch_url shouldn't both accept follow_redirects and support follow_redircts via module.params
* Default follow_redirects for open_url should be 'urllib2'
* Add redirect test for get_url
This commit is contained in:
Matt Martz 2016-03-07 15:35:20 -06:00
parent a302ba0ab4
commit 098333b2ec
2 changed files with 8 additions and 5 deletions

View file

@ -676,7 +676,7 @@ def maybe_add_ssl_handler(url, validate_certs):
def open_url(url, data=None, headers=None, method=None, use_proxy=True, def open_url(url, data=None, headers=None, method=None, use_proxy=True,
force=False, last_mod_time=None, timeout=10, validate_certs=True, force=False, last_mod_time=None, timeout=10, validate_certs=True,
url_username=None, url_password=None, http_agent=None, url_username=None, url_password=None, http_agent=None,
force_basic_auth=False, follow_redirects=False): force_basic_auth=False, follow_redirects='urllib2'):
''' '''
Fetches a file from an HTTP/FTP server using urllib2 Fetches a file from an HTTP/FTP server using urllib2
''' '''
@ -809,8 +809,7 @@ def url_argument_spec():
) )
def fetch_url(module, url, data=None, headers=None, method=None, def fetch_url(module, url, data=None, headers=None, method=None,
use_proxy=True, force=False, last_mod_time=None, timeout=10, use_proxy=True, force=False, last_mod_time=None, timeout=10):
follow_redirects=False):
''' '''
Fetches a file from an HTTP/FTP server using urllib2. Requires the module environment Fetches a file from an HTTP/FTP server using urllib2. Requires the module environment
''' '''
@ -828,8 +827,7 @@ def fetch_url(module, url, data=None, headers=None, method=None,
http_agent = module.params.get('http_agent', None) http_agent = module.params.get('http_agent', None)
force_basic_auth = module.params.get('force_basic_auth', '') force_basic_auth = module.params.get('force_basic_auth', '')
if not follow_redirects: follow_redirects = module.params.get('follow_redirects', 'urllib2')
follow_redirects = module.params.get('follow_redirects', False)
r = None r = None
info = dict(url=url) info = dict(url=url)

View file

@ -145,3 +145,8 @@
- 'get_url_result["failed"]' - 'get_url_result["failed"]'
when: "{{ not python_has_ssl_context }}" when: "{{ not python_has_ssl_context }}"
# End hacky SNI test section # End hacky SNI test section
- name: Test get_url with redirect
get_url:
url: 'http://httpbin.org/redirect/6'
dest: "{{ output_dir }}/redirect.json"