From 52d56b88ab66a2f3ca19785c28bf774fe03278df Mon Sep 17 00:00:00 2001
From: Dimitris Frangiadakis <dimitris@frangiadakis.com>
Date: Tue, 14 Feb 2023 10:41:12 +0100
Subject: [PATCH] csv: add max filesize check (#171)

* csv: add max filesize check
---
 invenio_previewer/extensions/csv_dthreejs.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/invenio_previewer/extensions/csv_dthreejs.py b/invenio_previewer/extensions/csv_dthreejs.py
index 0800394..76396c3 100644
--- a/invenio_previewer/extensions/csv_dthreejs.py
+++ b/invenio_previewer/extensions/csv_dthreejs.py
@@ -20,6 +20,12 @@ previewable_extensions = ["csv", "dsv"]
 
 def validate_csv(file):
     """Return dialect information about given csv file."""
+    max_file_size = current_app.config.get(
+        "PREVIEWER_MAX_FILE_SIZE_BYTES", 10 * 1024 * 1024
+    )
+    if file.size > max_file_size:
+        return False
+
     try:
         # Detect encoding and dialect
         with file.open() as fp:
-- 
GitLab