From 586ba890471f135a8aef8a627ee8358ed2490420 Mon Sep 17 00:00:00 2001 From: VKFisher Date: Tue, 22 Mar 2022 11:19:10 +0700 Subject: [PATCH] better subclass check --- src/dependency_injector/wiring.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/dependency_injector/wiring.py b/src/dependency_injector/wiring.py index 3f998393..cad8d4b1 100644 --- a/src/dependency_injector/wiring.py +++ b/src/dependency_injector/wiring.py @@ -321,7 +321,13 @@ class InspectFilter: def _is_starlette_request_cls(self, instance: object) -> bool: return starlette \ and isinstance(instance, type) \ - and isinstance(instance, starlette.requests.Request) + and self._is_subclass(instance, starlette.requests.Request) + + def _is_subclass(self, instance: type, cls: type) -> bool: + try: + issubclass(instance, cls) + except TypeError: + return False def _is_builtin(self, instance: object) -> bool: return inspect.isbuiltin(instance)