From 6607bc9b0e24e642a62b813352f34570220d9929 Mon Sep 17 00:00:00 2001
From: jurgenhaas <juergen@paragon-es.de>
Date: Fri, 3 Jun 2016 09:04:50 +0200
Subject: [PATCH] Support HTTP Basic Auth for checks

---
 action_plugins/uptime.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/action_plugins/uptime.py b/action_plugins/uptime.py
index 33b4bec..de9bc81 100644
--- a/action_plugins/uptime.py
+++ b/action_plugins/uptime.py
@@ -155,11 +155,13 @@ class ActionModule(ActionBase):
 
 
     def _createCheck(self, check):
+        display.vv('    Creating %s' % (check.get('url')))
         self._cleanupCheck(check)
         self._request('checks', check, 'PUT')
 
 
     def _deleteCheck(self, check):
+        display.vv('    Deleting %s' % (check.get('url')))
         self._request('checks/' + check.get('_id'), None, 'DELETE')
 
 
@@ -185,6 +187,7 @@ class ActionModule(ActionBase):
                 changed = True
 
         if changed:
+            display.vv('    Updating %s' % (existing.get('url')))
             existing = self._cleanupCheck(existing)
             self._request('checks/' + existing.get('_id'), existing, 'POST')
 
@@ -198,7 +201,11 @@ class ActionModule(ActionBase):
 
 
     def _buildUrl(self, item, field):
-        url = item.get('protocol', 'https') + '://' + item.get(field)
+        authPrefix = ''
+        auth = item.get('apache_auth')
+        if auth and auth.get('type') == 'Basic':
+            authPrefix = auth.get('user') + ':' + auth.get('password') + '@'
+        url = item.get('protocol', 'https') + '://' + authPrefix + item.get(field)
         uptime = item.get('uptime')
         if uptime:
             path = uptime.get('path')
-- 
GitLab