def __new__()

in azurefunctions-extensions-base/azurefunctions/extensions/base/web.py [0:0]


    def __new__(cls, name, bases, dct, **kwargs):
        new_class = super().__new__(cls, name, bases, dct)

        label = dct.get("label")
        response_type = dct.get("response_type")

        if label is None:
            raise TypeError(f"Response label not provided for class {name}")
        if response_type is None:
            raise TypeError(f"Response type not provided for class {name}")
        if (
            cls._response_types.get(label) is not None
            and cls._response_types.get(label) != response_type
        ):
            raise TypeError(
                f"Only one response type shall be recorded for class {name} "
                f"but found {cls._response_types.get(label)} and {response_type}"
            )

        cls._response_types[label] = response_type

        return new_class