From ed9a93a04f284a22d985c564555e32802ccec757 Mon Sep 17 00:00:00 2001 From: jsdio Date: Tue, 26 Sep 2023 18:00:38 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9?= =?UTF-8?q?=D0=BA=D0=B8=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20app?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/fastapi_app/bin/__main__.py | 5 ++--- src/fastapi_app/lib/api/v1/dependencies/token.py | 5 ++--- src/fastapi_app/lib/app/app.py | 2 ++ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/fastapi_app/bin/__main__.py b/src/fastapi_app/bin/__main__.py index 2ccdc06..2475d69 100644 --- a/src/fastapi_app/bin/__main__.py +++ b/src/fastapi_app/bin/__main__.py @@ -4,7 +4,6 @@ import logging import uvicorn import lib.app.app as app_module -import lib.app.settings as app_settings logger = logging.getLogger(__name__) @@ -12,11 +11,11 @@ logger = logging.getLogger(__name__) async def main(): try: app_instance = app_module.Application() + app = app_instance.create_app() - settings = app_settings.get_settings() + settings = app_instance.settings logger.info("Starting FastAPI application") - config = uvicorn.Config(app=app, host=settings.api.host, port=settings.api.port, lifespan="on", reload=True) server = uvicorn.Server(config) diff --git a/src/fastapi_app/lib/api/v1/dependencies/token.py b/src/fastapi_app/lib/api/v1/dependencies/token.py index 6e37532..a0611bb 100644 --- a/src/fastapi_app/lib/api/v1/dependencies/token.py +++ b/src/fastapi_app/lib/api/v1/dependencies/token.py @@ -3,15 +3,14 @@ from jose import JWTError, jwt from pydantic import ValidationError import lib.api.schemas as app_schemas -import lib.app.settings as app_settings - -settings = app_settings.get_settings() def get_token_data( + request: fastapi.Request, authorization: fastapi.security.HTTPAuthorizationCredentials = fastapi.Security(fastapi.security.HTTPBearer()), ) -> app_schemas.entity.Token: token = authorization.credentials + settings = request.app.state.settings try: secret_key = settings.jwt_secret_key payload = jwt.decode(token, secret_key, algorithms=["HS256"]) diff --git a/src/fastapi_app/lib/app/app.py b/src/fastapi_app/lib/app/app.py index 9f2db82..95e904b 100644 --- a/src/fastapi_app/lib/app/app.py +++ b/src/fastapi_app/lib/app/app.py @@ -69,6 +69,8 @@ class Application: async def shutdown_event(): self.logger.info("Shutting down server") + app.state.settings = self.settings + return app