mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
uri: load JSON for content-type: application/json
document check prefix of content-type and merge dicts amend doc load JSON into 'json' subkey
This commit is contained in:
parent
093935ede1
commit
b448cc8eff
1 changed files with 9 additions and 1 deletions
10
library/uri
10
library/uri
|
@ -72,7 +72,7 @@ options:
|
||||||
default: "GET"
|
default: "GET"
|
||||||
return_content:
|
return_content:
|
||||||
description:
|
description:
|
||||||
- Whether or not to return the body of the request as a "content" key in the dictionary result.
|
- Whether or not to return the body of the request as a "content" key in the dictionary result. If the reported Content-type is "application/json", then the JSON is additionally loaded into a key called C(json) in the dictionary results.
|
||||||
required: false
|
required: false
|
||||||
choices: [ "yes", "no" ]
|
choices: [ "yes", "no" ]
|
||||||
default: no
|
default: no
|
||||||
|
@ -330,6 +330,14 @@ def main():
|
||||||
ukey = key.replace("-", "_")
|
ukey = key.replace("-", "_")
|
||||||
uresp[ukey] = value
|
uresp[ukey] = value
|
||||||
|
|
||||||
|
if 'content_type' in uresp:
|
||||||
|
if uresp['content_type'].startswith('application/json'):
|
||||||
|
try:
|
||||||
|
js = json.loads(content)
|
||||||
|
uresp['json'] = js
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
if resp['status'] != status_code:
|
if resp['status'] != status_code:
|
||||||
module.fail_json(msg="Status code was not " + status_code, content=content, **uresp)
|
module.fail_json(msg="Status code was not " + status_code, content=content, **uresp)
|
||||||
elif return_content:
|
elif return_content:
|
||||||
|
|
Loading…
Reference in a new issue