[stable-2.14] Better json content type detection for uri (#79719) (#79726)

* Better json content type detection for uri

* typo
(cherry picked from commit 74cdffe)

Co-authored-by: Matt Martz <matt@sivel.net>
pull/79770/head
Matt Martz 2 years ago committed by GitHub
parent c83669a83e
commit a8642ef1b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,2 @@
bugfixes:
- uri - improve JSON content type detection

@ -447,7 +447,7 @@ from ansible.module_utils._text import to_native, to_text
from ansible.module_utils.common._collections_compat import Mapping, Sequence
from ansible.module_utils.urls import fetch_url, get_response_filename, parse_content_type, prepare_multipart, url_argument_spec
JSON_CANDIDATES = ('text', 'json', 'javascript')
JSON_CANDIDATES = {'json', 'javascript'}
# List of response key names we do not want sanitize_keys() to change.
NO_MODIFY_KEYS = frozenset(
@ -695,11 +695,11 @@ def main():
content_type, main_type, sub_type, content_encoding = parse_content_type(r)
else:
content_type = 'application/octet-stream'
main_type = 'aplication'
main_type = 'application'
sub_type = 'octet-stream'
content_encoding = 'utf-8'
maybe_json = content_type and any(candidate in sub_type for candidate in JSON_CANDIDATES)
maybe_json = content_type and sub_type.lower() in JSON_CANDIDATES
maybe_output = maybe_json or return_content or info['status'] not in status_code
if maybe_output:

Loading…
Cancel
Save