X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fdsa-puppet.git;a=blobdiff_plain;f=modules%2Fmirror_health%2Ffiles%2Fmirror-health;h=8c7498cc0ae2d380398246b2afd8dbca76a72bd5;hp=64845953eb3af16e4452d2fa047d963fb1ce3dbb;hb=689a1da09e35835d4f266891eb30182a5d6b6018;hpb=9728596ba8cf819fe5255eb2aee9b2c469b8359c diff --git a/modules/mirror_health/files/mirror-health b/modules/mirror_health/files/mirror-health index 64845953e..8c7498cc0 100755 --- a/modules/mirror_health/files/mirror-health +++ b/modules/mirror_health/files/mirror-health @@ -7,6 +7,8 @@ import calendar import logging import subprocess from email.utils import parsedate +import urllib3.util.connection + logging.basicConfig(level=logging.INFO) if 'MIRROR_CHECK_HOSTS' in os.environ: @@ -21,12 +23,16 @@ HEALTH_CHECK_URL = os.environ['MIRROR_CHECK_HEALTH_URL'] INTERVAL = int(os.environ.get('MIRROR_CHECK_INTERVAL', '60')) def retrieve_from_host(host, url): - proxies = { - 'http': 'http://{}:80'.format(host), - 'https': 'http://{}:443'.format(host), - } + orig_create_connection = urllib3.util.connection.create_connection + def patched_create_connection(address, *args, **kwargs): + _host, port = address + return orig_create_connection((host, port), *args, **kwargs) headers = {'User-Agent': 'mirror-health'} - return requests.get(url, headers=headers, timeout=5, proxies=proxies, allow_redirects=False) + urllib3.util.connection.create_connection = patched_create_connection + try: + return requests.get(url, headers=headers, timeout=5, allow_redirects=False) + finally: + urllib3.util.connection.create_connection = orig_create_connection def last_modified(response): lm = 0