forked from retoor/devplacepy
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
# retoor <retoor@molodetz.nl>
|
|
|
|
from starlette.middleware.gzip import GZipMiddleware
|
|
|
|
from devplacepy.middleware.guards import (
|
|
maintenance_middleware,
|
|
rate_limit_middleware,
|
|
terms_acceptance_gate,
|
|
)
|
|
from devplacepy.middleware.observe import (
|
|
response_timing,
|
|
track_presence,
|
|
visit_statistics,
|
|
)
|
|
from devplacepy.middleware.pipeline import (
|
|
add_security_headers,
|
|
await_pending_corrections,
|
|
refresh_db_snapshot,
|
|
)
|
|
from devplacepy.middleware.tunnel import TunnelDispatchMiddleware
|
|
|
|
|
|
def register(app):
|
|
app.middleware("http")(refresh_db_snapshot)
|
|
app.middleware("http")(await_pending_corrections)
|
|
app.middleware("http")(add_security_headers)
|
|
app.middleware("http")(rate_limit_middleware)
|
|
app.middleware("http")(maintenance_middleware)
|
|
app.middleware("http")(terms_acceptance_gate)
|
|
app.middleware("http")(track_presence)
|
|
app.middleware("http")(visit_statistics)
|
|
app.middleware("http")(response_timing)
|
|
app.add_middleware(TunnelDispatchMiddleware)
|
|
app.add_middleware(GZipMiddleware, minimum_size=512, compresslevel=5)
|