Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/starlette/middleware/__init__.py: 38%

13 statements  

« prev     ^ index     » next       coverage.py v7.2.2, created at 2023-03-26 06:12 +0000

1import typing 

2 

3 

4class Middleware: 

5 def __init__(self, cls: type, **options: typing.Any) -> None: 

6 self.cls = cls 

7 self.options = options 

8 

9 def __iter__(self) -> typing.Iterator: 

10 as_tuple = (self.cls, self.options) 

11 return iter(as_tuple) 

12 

13 def __repr__(self) -> str: 

14 class_name = self.__class__.__name__ 

15 option_strings = [f"{key}={value!r}" for key, value in self.options.items()] 

16 args_repr = ", ".join([self.cls.__name__] + option_strings) 

17 return f"{class_name}({args_repr})"