From 8b3de191180063ed07465f7de95ac212f76e508b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Simon=20K=C3=BCnzel?= <simonk@fsmpi.rwth-aachen.de>
Date: Wed, 3 Jul 2024 20:25:01 +0200
Subject: [PATCH] Add caching for OPTIONS requests

---
 src/app.py | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/app.py b/src/app.py
index 21f5379..5ff61f4 100644
--- a/src/app.py
+++ b/src/app.py
@@ -4,9 +4,19 @@ if __name__ == "__main__":
 
 import os
 
-from flask import Flask, Config
+from flask import Flask, Config, Response
 
-app = Flask("api")
+
+class ApiFlask(Flask):
+    
+    def make_default_options_response(self) -> Response:
+        response = super().make_default_options_response()
+        # max age is in seconds
+        response.headers["Cache-Control"] = f"max-age={60 * 60}"
+        return response
+
+
+app = ApiFlask("api")
 config = app.config
 
 config.from_pyfile(os.path.join(os.getcwd(), os.environ["VIDEOAG_API_CONFIG"]))
-- 
GitLab