From 9aa84cc2c346d87f2bbe6cfd4d6d482011752f60 Mon Sep 17 00:00:00 2001 From: klemek Date: Mon, 4 May 2026 22:51:55 +0200 Subject: [PATCH] fix: don't print raw client address --- stapler/handlers.py | 4 ++++ tests/test_handlers.py | 1 + 2 files changed, 5 insertions(+) diff --git a/stapler/handlers.py b/stapler/handlers.py index b9ece97..f00de8a 100644 --- a/stapler/handlers.py +++ b/stapler/handlers.py @@ -73,6 +73,10 @@ class BaseHandler(abc.ABC, http.server.BaseHTTPRequestHandler): else: self.send_status_only(code, message) + @typing.override + def address_string(self) -> str: # pragma: no cover + return re.sub(r"[^\x00-\x7F]+", "", super().address_string()) + @typing.override def log_message(self, format: str, *args: typing.Any) -> None: # pragma: no cover fmt = "%s - " + format diff --git a/tests/test_handlers.py b/tests/test_handlers.py index 2c6611f..b7596ce 100644 --- a/tests/test_handlers.py +++ b/tests/test_handlers.py @@ -1268,6 +1268,7 @@ class TestUpgradeHandler(BaseHandlerTestCase): handler.headers = collections.defaultdict(lambda: None, headers) # ty:ignore[invalid-assignment] handler.rfile = rfile if rfile is not None else io.BytesIO() handler.wfile = io.BytesIO() + handler.client_address = ("127.0.0.1", 12345) handler.logger = unittest.mock.Mock(logging.Logger) handler.data_dir = self.data_dir return handler