From c6d4361d84a4994fd798ff7825f0c44f04b476ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 24 Jan 2019 10:24:20 +0100 Subject: [PATCH] misc: don't follow redirects when checking service status (#30052) --- hobo/environment/models.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hobo/environment/models.py b/hobo/environment/models.py index 61a99df..2653389 100644 --- a/hobo/environment/models.py +++ b/hobo/environment/models.py @@ -87,7 +87,7 @@ class ServiceBase(models.Model): self.last_operational_check_timestamp = once_now try: zone = self.get_admin_zones()[0] - response = requests.get(zone.href, timeout=10) + response = requests.get(zone.href, timeout=10, allow_redirects=False) response.raise_for_status() self.last_operational_success_timestamp = once_now except requests.RequestException as e: @@ -182,7 +182,7 @@ class ServiceBase(models.Model): if not self.is_resolvable(): return False try: - requests.get(self.base_url, verify=True) + requests.get(self.base_url, verify=True, allow_redirects=False) return True except requests.exceptions.SSLError: return False @@ -192,8 +192,8 @@ class ServiceBase(models.Model): def is_running(self): if not self.is_resolvable(): return False - r = requests.get(self.get_admin_zones()[0].href, verify=False) - return bool(r.status_code is 200) + r = requests.get(self.get_admin_zones()[0].href, verify=False, allow_redirects=False) + return (r.status_code >= 200 and r.status_code < 400) def get_health_dict(self): properties = [