From 07aac38dbcbd1d6dea1c0baa7ea1d575a92e53fa Mon Sep 17 00:00:00 2001 From: Campbell Alden Date: Sat, 5 Sep 2026 23:53:40 +0900 Subject: [PATCH] Configure CORS and security middlewares --- derivation.nix | 13 ++++++++++++- shell.nix | 2 ++ src/main.py | 5 +++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/derivation.nix b/derivation.nix index d27b324..342c32e 100644 --- a/derivation.nix +++ b/derivation.nix @@ -3,7 +3,18 @@ with python313Packages; buildPythonApplication { pname = "cereal"; version = "0.0.1"; - propagatedBuildInputs = [ flask requests waitress sqlalchemy argon2-cffi pyjwt cryptography jinja2]; + propagatedBuildInputs = [ + flask + requests + waitress + sqlalchemy + argon2-cffi + pyjwt + cryptography + jinja2 + flask-talisman + flask-cors + ]; src = ./.; pyproject = true; build-system = [setuptools]; diff --git a/shell.nix b/shell.nix index e5e7b1b..11f109f 100644 --- a/shell.nix +++ b/shell.nix @@ -9,6 +9,8 @@ let pyjwt cryptography jinja2 + flask-talisman + flask-cors ]); in with pkgs; diff --git a/src/main.py b/src/main.py index f9fb8fd..b9f0d53 100644 --- a/src/main.py +++ b/src/main.py @@ -9,6 +9,9 @@ from dataclasses import dataclass from src.infra import get_database, UserRepoImpl from waitress import serve from flask import Flask +from flask_cors import CORS +from flask_talisman import Talisman + import argparse import logging @@ -33,6 +36,8 @@ class MyFlask(Flask): def create_app(name: str, config: Config) -> Flask: logging.basicConfig(level=config.logging.level, format=('%(asctime)s %(levelname)s [%(name)s] %(message)s')) app = MyFlask(name) + CORS(app) + Talisman(app) # Configure Services database = get_database(config.database)