From adbd2dec20394e7cc4f50aef1bdab14a02d05c0f Mon Sep 17 00:00:00 2001 From: olikol <78661364+olikols07@users.noreply.github.com> Date: Sun, 24 Aug 2025 01:44:45 +0200 Subject: [PATCH] Fixed fileHandler --- src/FileHandlers.go | 55 ++++++++++++++++++--------------------------- 1 file changed, 22 insertions(+), 33 deletions(-) diff --git a/src/FileHandlers.go b/src/FileHandlers.go index 382c3a5..190ff3d 100644 --- a/src/FileHandlers.go +++ b/src/FileHandlers.go @@ -5,11 +5,8 @@ import ( "net/http" "os" "path/filepath" - "strings" ) -const staticDir = "static" - type FileData struct { ImageNames []string SpicyImageNames []string @@ -21,6 +18,8 @@ type AsciiEntry struct { FontSize int } +const staticDir = "static" + // move FileData and AsciiEntry here if you want, or leave in main.go func FileHandler(w http.ResponseWriter, r *http.Request) { data := FileData{ @@ -29,39 +28,29 @@ func FileHandler(w http.ResponseWriter, r *http.Request) { AsciiFiles: []AsciiEntry{}, } - dirs, err := os.ReadDir(staticDir) - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return + files, _ := os.ReadDir(filepath.Join(staticDir, "images")) + for _, file := range files { + fileName := file.Name() + data.ImageNames = append(data.ImageNames, filepath.Join(staticDir, "images", fileName)) + } + files, _ = os.ReadDir(filepath.Join("uploads")) + for _, file := range files { + fileName := file.Name() + data.ImageNames = append(data.ImageNames, filepath.Join("uploads", fileName)) } - for _, dir := range dirs { - dirName := dir.Name() + files, _ = os.ReadDir(filepath.Join(staticDir, "spicy")) + for _, file := range files { + fileName := file.Name() + data.SpicyImageNames = append(data.SpicyImageNames, filepath.Join(staticDir, "spicy", fileName)) + } - if strings.EqualFold(dirName, "images") { - - files, _ := os.ReadDir(filepath.Join(staticDir, dirName)) - for _, file := range files { - fileName := file.Name() - data.ImageNames = append(data.ImageNames, filepath.Join(staticDir, dirName, fileName)) - } - } else if strings.EqualFold(dirName, "spicy") { - - files, _ := os.ReadDir(filepath.Join(staticDir, dirName)) - for _, file := range files { - fileName := file.Name() - data.SpicyImageNames = append(data.SpicyImageNames, filepath.Join(staticDir, dirName, fileName)) - } - } else if strings.EqualFold(dirName, "ascii_art") { - - files, _ := os.ReadDir(filepath.Join(staticDir, dirName)) - for _, file := range files { - fileName := file.Name() - data.AsciiFiles = append(data.AsciiFiles, - AsciiEntry{Name: filepath.Join(staticDir, dirName, fileName), FontSize: 12}, - ) - } - } + files, _ = os.ReadDir(filepath.Join(staticDir, "ascii_art")) + for _, file := range files { + fileName := file.Name() + data.AsciiFiles = append(data.AsciiFiles, + AsciiEntry{Name: filepath.Join(staticDir, "ascii_art", fileName), FontSize: 12}, + ) } w.Header().Set("Content-Type", "application/json")