| 19 | |
| 20 | |
| 21 | class Middleware: |
| 22 | def __init__(self, cls: _MiddlewareFactory[P], *args: P.args, **kwargs: P.kwargs) -> None: |
| 23 | self.cls = cls |
| 24 | self.args = args |
| 25 | self.kwargs = kwargs |
| 26 | |
| 27 | def __iter__(self) -> Iterator[Any]: |
| 28 | as_tuple = (self.cls, self.args, self.kwargs) |
| 29 | return iter(as_tuple) |
| 30 | |
| 31 | def __repr__(self) -> str: |
| 32 | class_name = self.__class__.__name__ |
| 33 | args_strings = [f"{value!r}" for value in self.args] |
| 34 | option_strings = [f"{key}={value!r}" for key, value in self.kwargs.items()] |
| 35 | name = getattr(self.cls, "__name__", "") |
| 36 | args_repr = ", ".join([name] + args_strings + option_strings) |
| 37 | return f"{class_name}({args_repr})" |
no outgoing calls