From dc206b41c74a540260707da3841abc2b10795369 Mon Sep 17 00:00:00 2001 From: Son NK <> Date: Tue, 11 Aug 2020 16:18:47 +0200 Subject: [PATCH] lighten mail handler --- email_handler.py | 4 ++-- server.py | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/email_handler.py b/email_handler.py index 85ed0db3..d2936996 100644 --- a/email_handler.py +++ b/email_handler.py @@ -99,7 +99,7 @@ from app.models import ( from app.pgp_utils import PGPException from app.utils import random_string from init_app import load_pgp_public_keys -from server import create_app +from server import create_app, create_light_app _IP_HEADER = "X-SimpleLogin-Client-IP" _MAILBOX_ID_HEADER = "X-SimpleLogin-Mailbox-ID" @@ -107,7 +107,7 @@ _MAILBOX_ID_HEADER = "X-SimpleLogin-Mailbox-ID" # fix the database connection leak issue # use this method instead of create_app def new_app(): - app = create_app() + app = create_light_app() @app.teardown_appcontext def shutdown_session(response_or_exc): diff --git a/server.py b/server.py index 5dd57706..ff2a40f3 100644 --- a/server.py +++ b/server.py @@ -81,6 +81,18 @@ if SENTRY_DSN: os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1" +def create_light_app() -> Flask: + app = Flask(__name__) + app.config["SQLALCHEMY_DATABASE_URI"] = DB_URI + app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False + + app.secret_key = FLASK_SECRET + + init_extensions(app) + + return app + + def create_app() -> Flask: app = Flask(__name__) # SimpleLogin is deployed behind NGINX