FastApi

Форк
0
52 строки · 1.5 Кб
1
from fastapi import FastAPI
2
from fastapi.middleware.cors import CORSMiddleware
3
from fastapi.staticfiles import StaticFiles
4
from fastapi_cache import FastAPICache
5
from fastapi_cache.backends.redis import RedisBackend
6
from redis import asyncio as aioredis
7

8
from auth.base_config import auth_backend, fastapi_users
9
from auth.schemas import UserCreate, UserRead
10
from operations.router import router as router_operation
11
from tasks.router import router as router_tasks
12
from pages.router import router as router_pages
13

14
app = FastAPI(
15
    title="Trading App"
16
)
17

18
app.mount("/static", StaticFiles(directory="static"), name="static")
19

20
app.include_router(
21
    fastapi_users.get_auth_router(auth_backend),
22
    prefix="/auth",
23
    tags=["Auth"],
24
)
25

26
app.include_router(
27
    fastapi_users.get_register_router(UserRead, UserCreate),
28
    prefix="/auth",
29
    tags=["Auth"],
30
)
31

32
app.include_router(router_operation)
33
app.include_router(router_tasks)
34
app.include_router(router_pages)
35

36
origins = [
37
    "http://localhost:3000",
38
]
39

40
app.add_middleware(
41
    CORSMiddleware,
42
    allow_origins=origins,
43
    allow_credentials=True,
44
    allow_methods=["GET", "POST", "OPTIONS", "DELETE", "PATCH", "PUT"],
45
    allow_headers=["Content-Type", "Set-Cookie", "Access-Control-Allow-Headers", "Access-Control-Allow-Origin",
46
                   "Authorization"],
47
)
48

49
@app.on_event("startup")
50
async def startup_event():
51
    redis = aioredis.from_url("redis://localhost", encoding="utf8", decode_responses=True)
52
    FastAPICache.init(RedisBackend(redis), prefix="fastapi-cache")
53

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.