diff options
author | James Cammarata <jimi@sngx.net> | 2016-04-18 13:02:57 -0400 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2016-04-18 13:04:16 -0400 |
commit | 0df4bfe0639e059db3da8bfdb956934582698fe1 (patch) | |
tree | 98da0517b8811e5fb8b75e1e08798fde1e742cf7 | |
parent | 9fe10860a69c0775f52119486223668bd240d804 (diff) | |
download | ansible-0df4bfe0639e059db3da8bfdb956934582698fe1.tar.gz |
Don't override the http status code when successful in urls.py
-rw-r--r-- | lib/ansible/module_utils/urls.py | 3 | ||||
-rw-r--r-- | test/integration/roles/test_uri/tasks/main.yml | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/ansible/module_utils/urls.py b/lib/ansible/module_utils/urls.py index cacb7bbcd2..5cf9deaf09 100644 --- a/lib/ansible/module_utils/urls.py +++ b/lib/ansible/module_utils/urls.py @@ -838,8 +838,7 @@ def fetch_url(module, url, data=None, headers=None, method=None, url_password=password, http_agent=http_agent, force_basic_auth=force_basic_auth, follow_redirects=follow_redirects) info.update(r.info()) - info['url'] = r.geturl() # The URL goes in too, because of redirects. - info.update(dict(msg="OK (%s bytes)" % r.headers.get('Content-Length', 'unknown'), status=200)) + info.update(dict(msg="OK (%s bytes)" % r.headers.get('Content-Length', 'unknown'), url=r.geturl(), status=r.getcode())) except NoSSLError, e: distribution = get_distribution() if distribution is not None and distribution.lower() == 'redhat': diff --git a/test/integration/roles/test_uri/tasks/main.yml b/test/integration/roles/test_uri/tasks/main.yml index ae47aa759a..a4df843f22 100644 --- a/test/integration/roles/test_uri/tasks/main.yml +++ b/test/integration/roles/test_uri/tasks/main.yml @@ -204,3 +204,10 @@ assert: that: - 'result.allow|default("") == "HEAD, OPTIONS, GET"' + +- name: validate the status_codes are correct + uri: + url: https://httpbin.org/status/202 + status_code: 202 + method: POST + body: foo |