import typing


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

    def __iter__(self) -> typing.Iterator:
        as_tuple = (self.cls, self.options)
        return iter(as_tuple)

    def __repr__(self) -> str:
        class_name = self.__class__.__name__
        option_strings = ["{key}={value!r}" for key, value in self.options.items()]
        options_repr = ", ".join(option_strings)
        return f"{class_name}({self.cls.__name__}{options_repr})"

@@ -368,16 +368,17 @@
 ings = %5B
+f
 %22%7Bkey%7D=%7B
@@ -435,22 +435,19 @@
         
-option
+arg
 s_repr =
@@ -457,16 +457,38 @@
  %22.join(
+%5Bself.cls.__name__%5D + 
 option_s
@@ -530,33 +530,11 @@
 e%7D(%7B
-self.cls.__name__%7D%7Boption
+arg
 s_re

Fix middleware repr (#858)