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)