mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Fixes for uri under python3 and local (non-httptester) testing
This commit is contained in:
parent
dab2bf7e13
commit
c6b42028c4
3 changed files with 10 additions and 8 deletions
|
@ -512,9 +512,15 @@ def RedirectHandlerFactory(follow_redirects=None, validate_certs=True):
|
||||||
newheaders = dict((k,v) for k,v in req.headers.items()
|
newheaders = dict((k,v) for k,v in req.headers.items()
|
||||||
if k.lower() not in ("content-length", "content-type")
|
if k.lower() not in ("content-length", "content-type")
|
||||||
)
|
)
|
||||||
|
try:
|
||||||
|
# Python 2-3.3
|
||||||
|
origin_req_host = req.get_origin_req_host()
|
||||||
|
except AttributeError:
|
||||||
|
# Python 3.4+
|
||||||
|
origin_req_host = req.origin_req_host
|
||||||
return urllib_request.Request(newurl,
|
return urllib_request.Request(newurl,
|
||||||
headers=newheaders,
|
headers=newheaders,
|
||||||
origin_req_host=req.get_origin_req_host(),
|
origin_req_host=origin_req_host,
|
||||||
unverifiable=True)
|
unverifiable=True)
|
||||||
else:
|
else:
|
||||||
raise urllib_error.HTTPError(req.get_full_url(), code, msg, hdrs, fp)
|
raise urllib_error.HTTPError(req.get_full_url(), code, msg, hdrs, fp)
|
||||||
|
@ -862,6 +868,7 @@ def open_url(url, data=None, headers=None, method=None, use_proxy=True,
|
||||||
opener = urllib_request.build_opener(*handlers)
|
opener = urllib_request.build_opener(*handlers)
|
||||||
urllib_request.install_opener(opener)
|
urllib_request.install_opener(opener)
|
||||||
|
|
||||||
|
data = to_bytes(data, nonstring='passthru')
|
||||||
if method:
|
if method:
|
||||||
if method.upper() not in ('OPTIONS','GET','HEAD','POST','PUT','DELETE','TRACE','CONNECT','PATCH'):
|
if method.upper() not in ('OPTIONS','GET','HEAD','POST','PUT','DELETE','TRACE','CONNECT','PATCH'):
|
||||||
raise ConnectionError('invalid HTTP request method; %s' % method.upper())
|
raise ConnectionError('invalid HTTP request method; %s' % method.upper())
|
||||||
|
|
|
@ -198,10 +198,6 @@
|
||||||
set_fact:
|
set_fact:
|
||||||
is_ubuntu_precise: "{{ ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'precise' }}"
|
is_ubuntu_precise: "{{ ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'precise' }}"
|
||||||
|
|
||||||
# These tests are just side effects of how the site is hosted. It's not
|
|
||||||
# specifically a test site. So the tests may break due to the hosting
|
|
||||||
# changing. Eventually we need to standup a webserver with SNI as part of the
|
|
||||||
# test run.
|
|
||||||
- name: Test that SNI succeeds on python versions that have SNI
|
- name: Test that SNI succeeds on python versions that have SNI
|
||||||
uri:
|
uri:
|
||||||
url: 'https://{{ sni_host }}/'
|
url: 'https://{{ sni_host }}/'
|
||||||
|
@ -213,7 +209,7 @@
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- result|success
|
- result|success
|
||||||
- 'sni_host == result.content'
|
- 'sni_host in result.content'
|
||||||
when: ansible_python.has_sslcontext
|
when: ansible_python.has_sslcontext
|
||||||
|
|
||||||
- name: Verify SNI verification fails on old python without urllib3 contrib
|
- name: Verify SNI verification fails on old python without urllib3 contrib
|
||||||
|
@ -253,7 +249,7 @@
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- result|success
|
- result|success
|
||||||
- 'sni_host == result.content'
|
- 'sni_host in result.content'
|
||||||
when: not ansible_python.has_sslcontext and not is_ubuntu_precise|bool
|
when: not ansible_python.has_sslcontext and not is_ubuntu_precise|bool
|
||||||
|
|
||||||
- name: Uninstall ndg-httpsclient and urllib3
|
- name: Uninstall ndg-httpsclient and urllib3
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
test_hg
|
test_hg
|
||||||
test_service
|
test_service
|
||||||
test_uri
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue