logging: enhanced HTTPHandler
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
index 487cdd5..744f59b 100644
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -977,7 +977,7 @@
     A class which sends records to a Web server, using either GET or
     POST semantics.
     """
-    def __init__(self, host, url, method="GET"):
+    def __init__(self, host, url, method="GET", secure=False, credentials=None):
         """
         Initialize the instance with the host, the request URL, and the method
         ("GET" or "POST")
@@ -989,12 +989,14 @@
         self.host = host
         self.url = url
         self.method = method
+        self.secure = secure
+        self.credentials = credentials
 
     def mapLogRecord(self, record):
         """
         Default implementation of mapping the log record into a dict
         that is sent as the CGI data. Overwrite in your class.
-        Contributed by Franz  Glasner.
+        Contributed by Franz Glasner.
         """
         return record.__dict__
 
@@ -1007,7 +1009,10 @@
         try:
             import http.client, urllib.parse
             host = self.host
-            h = http.client.HTTP(host)
+            if self.secure:
+                h = http.client.HTTPSConnection(host)
+            else:
+                h = http.client.HTTPConnection(host)
             url = self.url
             data = urllib.parse.urlencode(self.mapLogRecord(record))
             if self.method == "GET":
@@ -1027,8 +1032,13 @@
                 h.putheader("Content-type",
                             "application/x-www-form-urlencoded")
                 h.putheader("Content-length", str(len(data)))
+            if self.credentials:
+                import base64
+                s = ('u%s:%s' % self.credentials).encode('utf-8')
+                s = 'Basic ' + base64.b64encode(s).strip()
+                h.putheader('Authorization', s)
             h.endheaders(data if self.method == "POST" else None)
-            h.getreply()    #can't do anything with the result
+            h.getresponse()    #can't do anything with the result
         except (KeyboardInterrupt, SystemExit):
             raise
         except:
diff --git a/Misc/NEWS b/Misc/NEWS
index 0357e02..04f5799 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -40,6 +40,8 @@
 Library
 -------
 
+- logging: Enhanced HTTPHandler with secure and credentials initializers.
+
 - Issue #767645: Set os.path.supports_unicode_filenames to True on Mac OS X
   (macpath module).