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>
This commit is contained in:
Saiyang Gou 2021-04-23 03:19:08 -07:00 committed by GitHub
parent 32980fb669
commit 927b841c21
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 41 additions and 0 deletions

View file

@ -74,6 +74,7 @@ import http
import io
import re
import socket
import sys
import collections.abc
from urllib.parse import urlsplit
@ -931,6 +932,7 @@ class HTTPConnection:
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 @@ class HTTPConnection:
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: