Что из следующего является допустимым определением Middleware в FastAPI?
1)
@app.middleware()
def my_middleware(response: Response):
pass
2)
class MyMiddleware:
def call(self, scope, receive, send):
pass
3)
class MyMiddleware:
def __call__(self, scope, receive, send):
4)
def my_middleware(request, response):
pass