Add file viewer dispatch for handling multiple file types and extend download timeout

This commit is contained in:
Leon Bösche
2026-01-25 16:14:03 +01:00
parent d5aecdfba8
commit 9bc03f6db8
7 changed files with 222 additions and 81 deletions

View File

@@ -3080,8 +3080,12 @@ func publicFileDownloadHandler(w http.ResponseWriter, r *http.Request, db *datab
return
}
// Create context with longer timeout for file downloads
downloadCtx, cancel := context.WithTimeout(context.Background(), 10*time.Minute)
defer cancel()
// Stream file
resp, err := client.Download(r.Context(), file.Path, "")
resp, err := client.Download(downloadCtx, file.Path, "")
if err != nil {
errors.LogError(r, err, "Failed to download file")
errors.WriteError(w, errors.CodeInternal, "Server error", http.StatusInternalServerError)
@@ -3189,7 +3193,7 @@ func publicFileViewHandler(w http.ResponseWriter, r *http.Request, db *database.
}
// Create context with longer timeout for file downloads
downloadCtx, cancel := context.WithTimeout(r.Context(), 5*time.Minute)
downloadCtx, cancel := context.WithTimeout(context.Background(), 10*time.Minute)
defer cancel()
// Stream file