From 8fcde66b5579791cf6531dd1df6e9a7f3ab0b985 Mon Sep 17 00:00:00 2001
From: Massimiliano Adamo <maxadamo@gmail.com>
Date: Mon, 17 Feb 2025 13:19:42 +0100
Subject: [PATCH] feat: add suffix parameter to ProcessCertificatesWrite for
 dynamic output file naming

---
 certinspector/inspector.go | 4 ++--
 main.go                    | 6 +++++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/certinspector/inspector.go b/certinspector/inspector.go
index 376deb2..1b58710 100644
--- a/certinspector/inspector.go
+++ b/certinspector/inspector.go
@@ -76,7 +76,7 @@ func InspectCertificate(certDir string, verboseBool bool) (CertificateData, erro
 }
 
 // Process certificate and call writeJSON function. Write to file.
-func ProcessCertificatesWrite(baseDir, provider string, outputDir string, verboseBool bool) error {
+func ProcessCertificatesWrite(baseDir, provider string, outputDir string, verboseBool bool, suffix string) error {
 	if verboseBool {
 		DebugLogger.Printf("executing ProcessCertificatesWrite function for provider: %s", provider)
 	}
@@ -113,7 +113,7 @@ func ProcessCertificatesWrite(baseDir, provider string, outputDir string, verbos
 		return results[i].CertName < results[j].CertName
 	})
 
-	outputFile := filepath.Join(outputDir, provider+".json")
+	outputFile := filepath.Join(outputDir, provider+suffix+".json")
 	return writeJSON(outputFile, results, verboseBool)
 }
 
diff --git a/main.go b/main.go
index 855ce35..8f4c844 100644
--- a/main.go
+++ b/main.go
@@ -64,8 +64,12 @@ func renderPage(w http.ResponseWriter, req *http.Request) {
 	provider := strings.Split(req.URL.Path, "/")[1]
 	outputDir := filepath.Join(webDir, provider)
 	serveFile := filepath.Join(webDir, req.URL.Path)
+	suffix := ""
+	if strings.HasSuffix(serveFile, "/by_date.html") {
+		suffix = "_expired"
+	}
 
-	err := certinspector.ProcessCertificatesWrite(baseDir, provider, outputDir, verboseBool)
+	err := certinspector.ProcessCertificatesWrite(baseDir, provider, outputDir, verboseBool, suffix)
 	if err != nil {
 		WarningLogger.Println(err)
 		http.Error(w, "Failed to process certificates", http.StatusServiceUnavailable)
-- 
GitLab