bpo-37363: Add audit events to the `http.client` module (GH-21321)
Add audit events to the `http.client` module
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
diff --git a/Lib/http/client.py b/Lib/http/client.py
index c526380..4b1f692 100644
--- a/Lib/http/client.py
+++ b/Lib/http/client.py
@@ -74,6 +74,7 @@
import io
import re
import socket
+import sys
import collections.abc
from urllib.parse import urlsplit
@@ -931,6 +932,7 @@ def _tunnel(self):
def connect(self):
"""Connect to the host and port specified in __init__."""
+ sys.audit("http.client.connect", self, self.host, self.port)
self.sock = self._create_connection(
(self.host,self.port), self.timeout, self.source_address)
self.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
@@ -978,8 +980,10 @@ def send(self, data):
break
if encode:
datablock = datablock.encode("iso-8859-1")
+ sys.audit("http.client.send", self, datablock)
self.sock.sendall(datablock)
return
+ sys.audit("http.client.send", self, data)
try:
self.sock.sendall(data)
except TypeError: