Accept status code from a list of valid codes.
This commit is contained in:
parent
6f16ea6d49
commit
5561fbc427
1 changed files with 8 additions and 4 deletions
12
network/uri
12
network/uri
|
@ -101,7 +101,7 @@ options:
|
||||||
required: false
|
required: false
|
||||||
status_code:
|
status_code:
|
||||||
description:
|
description:
|
||||||
- A valid, numeric, HTTP status code that signifies success of the request.
|
- A valid, numeric, HTTP status code that signifies success of the request. Can also be comma separated list of status codes.
|
||||||
required: false
|
required: false
|
||||||
default: 200
|
default: 200
|
||||||
timeout:
|
timeout:
|
||||||
|
@ -315,7 +315,7 @@ def main():
|
||||||
follow_redirects = dict(required=False, default='no', type='bool'),
|
follow_redirects = dict(required=False, default='no', type='bool'),
|
||||||
creates = dict(required=False, default=None),
|
creates = dict(required=False, default=None),
|
||||||
removes = dict(required=False, default=None),
|
removes = dict(required=False, default=None),
|
||||||
status_code = dict(required=False, default=200, type='int'),
|
status_code = dict(required=False, default=[200], type='list'),
|
||||||
timeout = dict(required=False, default=30, type='int'),
|
timeout = dict(required=False, default=30, type='int'),
|
||||||
),
|
),
|
||||||
check_invalid_arguments=False,
|
check_invalid_arguments=False,
|
||||||
|
@ -338,7 +338,7 @@ def main():
|
||||||
follow_redirects = module.params['follow_redirects']
|
follow_redirects = module.params['follow_redirects']
|
||||||
creates = module.params['creates']
|
creates = module.params['creates']
|
||||||
removes = module.params['removes']
|
removes = module.params['removes']
|
||||||
status_code = int(module.params['status_code'])
|
status_code = list(module.params['status_code'])
|
||||||
socket_timeout = module.params['timeout']
|
socket_timeout = module.params['timeout']
|
||||||
|
|
||||||
# Grab all the http headers. Need this hack since passing multi-values is currently a bit ugly. (e.g. headers='{"Content-Type":"application/json"}')
|
# Grab all the http headers. Need this hack since passing multi-values is currently a bit ugly. (e.g. headers='{"Content-Type":"application/json"}')
|
||||||
|
@ -412,7 +412,11 @@ def main():
|
||||||
uresp['json'] = js
|
uresp['json'] = js
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
if resp['status'] != status_code:
|
|
||||||
|
sys.stderr.write("status ----> %s \n" % resp['status'])
|
||||||
|
sys.stderr.write("status_code ----> %s \n" % status_code)
|
||||||
|
|
||||||
|
if str(resp['status']) not in status_code:
|
||||||
module.fail_json(msg="Status code was not " + str(status_code), content=content, **uresp)
|
module.fail_json(msg="Status code was not " + str(status_code), content=content, **uresp)
|
||||||
elif return_content:
|
elif return_content:
|
||||||
module.exit_json(changed=changed, content=content, **uresp)
|
module.exit_json(changed=changed, content=content, **uresp)
|
||||||
|
|
Loading…
Reference in a new issue