From 0df4bfe0639e059db3da8bfdb956934582698fe1 Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Mon, 18 Apr 2016 13:02:57 -0400 Subject: Don't override the http status code when successful in urls.py --- lib/ansible/module_utils/urls.py | 3 +-- 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 -- cgit v1.2.1