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)