6.2 Middleware (CORS, Session, Custom)
9 из 9 шагов пройдено
7 из 7 баллов  получено

TrustedHostMiddleware

Проверяет заголовок хоста входящих запросов для предотвращения потенциальных атак заголовка хоста HTTP.

from fastapi import FastAPI
from fastapi.middleware.trustedhost import TrustedHostMiddleware

app = FastAPI()

app.add_middleware(
    TrustedHostMiddleware, allowed_hosts=["example.com", "*.example.com"]
)


@app.get("/")
async def main():
    return {"message": "Hello World"}
  • allowed_hosts- Список доменных имен, которые должны быть разрешены в качестве имен хостов. Также синтаксис поддерживает поддомены -  *.example.com. Чтобы разрешить любое имя хоста можно использовать allowed_hosts=["*"].

Если входящий запрос не будет проверен правильно, будет отправлен код ошибки 400.

 

HTTPSRedirectMiddleware

Обеспечивает, чтобы все входящие запросы были либо  https Вместо этого любые входящие запросы к  http  будут перенаправлены на https.

from fastapi import FastAPI
from fastapi.middleware.httpsredirect import HTTPSRedirectMiddleware

app = FastAPI()

app.add_middleware(HTTPSRedirectMiddleware)


@app.get("/")
async def main():
    return {"message": "Hello World"}

 

GZip Middleware

Gzip - это алгоритм сжатия. Используется очень часто для сжатия контента, передаваемого через Интернет, и учитывая, что он поддерживается браузерами, то он способен сильно уменьшить размер файлов JavaScript, CSS и HTML.

from fastapi import FastAPI
from fastapi.middleware.gzip import GZipMiddleware

app = FastAPI()

app.add_middleware(GZipMiddleware, minimum_size=1000)


@app.get("/")
async def main():
    return "somebigcontent"
  • minimum_size- Не делать сжатие ответов, которые меньше этого минимального размера в байтах. По умолчанию 500.

Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Нет обсуждений. Начните первое.