Source code for zemfrog.loaders.middleware
from flask import Flask
from ..helper import get_import_name, import_attr
[docs]def loader(app: Flask):
"""
Function to load all middlewares.
"""
dirname = "middlewares"
middlewares = app.config.get(dirname.upper(), [])
import_name = get_import_name(app)
prefix = dirname + "."
for name in middlewares:
if not name.startswith(prefix):
name = prefix + name
name += ".init_middleware"
try:
middleware = import_attr(import_name + name)
except (ImportError, AttributeError):
middleware = import_attr(name.lstrip(prefix))
app.wsgi_app = middleware(app.wsgi_app)