fix: handle error at init level
This commit is contained in:
+1
-1
@@ -28,7 +28,7 @@ dev = [
|
|||||||
|
|
||||||
[tool.ruff.lint]
|
[tool.ruff.lint]
|
||||||
select = ["ALL"]
|
select = ["ALL"]
|
||||||
ignore = ["D", "E501", "S104", "PLR2004", "ANN401", "BLE001", "COM812", "S603", "PLR0911", "S101", "PT"]
|
ignore = ["D", "E501", "S104", "PLR2004", "ANN401", "BLE001", "COM812", "S603", "PLR0911", "S101", "PT", "E722"]
|
||||||
|
|
||||||
[tool.coverage.run]
|
[tool.coverage.run]
|
||||||
source = ["stapler"]
|
source = ["stapler"]
|
||||||
|
|||||||
@@ -275,7 +275,10 @@ class RequestHandler(http.server.SimpleHTTPRequestHandler, BaseHandler):
|
|||||||
self.__target_redirect: str | None = None
|
self.__target_redirect: str | None = None
|
||||||
self.__target_proxy: str | None = None
|
self.__target_proxy: str | None = None
|
||||||
self.__target_spa: str | None = None
|
self.__target_spa: str | None = None
|
||||||
|
try:
|
||||||
super().__init__(*args, directory=params.data_dir, **kwargs, params=params) # ty:ignore[unknown-argument]
|
super().__init__(*args, directory=params.data_dir, **kwargs, params=params) # ty:ignore[unknown-argument]
|
||||||
|
except:
|
||||||
|
self.logger.exception("Could not handle request")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def token(self) -> str:
|
def token(self) -> str:
|
||||||
|
|||||||
@@ -162,6 +162,21 @@ class TestRequestHandler(BaseHandlerTestCase):
|
|||||||
handler.data_dir = self.data_dir
|
handler.data_dir = self.data_dir
|
||||||
return handler
|
return handler
|
||||||
|
|
||||||
|
def test_handle_errors_silently(self) -> None:
|
||||||
|
with self.patch("http.server.BaseHTTPRequestHandler.__init__") as mock:
|
||||||
|
mock.side_effect = Exception
|
||||||
|
logging.basicConfig(level=logging.CRITICAL)
|
||||||
|
RequestHandler(
|
||||||
|
unittest.mock.MagicMock(),
|
||||||
|
"127.0.0.1",
|
||||||
|
unittest.mock.MagicMock(),
|
||||||
|
params=Parameters(
|
||||||
|
data_dir=self.get_tmp_dir(), certbot_www=str(self.certbot_www)
|
||||||
|
),
|
||||||
|
registry=self.registry,
|
||||||
|
token_manager=self.token_manager,
|
||||||
|
)
|
||||||
|
|
||||||
def test_do_head_forward(self) -> None:
|
def test_do_head_forward(self) -> None:
|
||||||
handler = self._get_handler()
|
handler = self._get_handler()
|
||||||
with (
|
with (
|
||||||
|
|||||||
Reference in New Issue
Block a user