diff --git a/server/internal/adapters/fs.go b/server/internal/adapters/fs.go index c3b80b9..d67bcfa 100644 --- a/server/internal/adapters/fs.go +++ b/server/internal/adapters/fs.go @@ -174,4 +174,3 @@ func NewLocalFsAdapter(roots []string) (FileAdapter, error) { roots: roots, }, nil } - diff --git a/server/internal/handler/error.go b/server/internal/handler/error.go index 37fcc3d..0fe486c 100644 --- a/server/internal/handler/error.go +++ b/server/internal/handler/error.go @@ -3,6 +3,8 @@ package handler import ( "encoding/json" "net/http" + + "git.max-richter.dev/max/marka/server-new/internal/adapters" ) type ErrorResponse struct { @@ -18,3 +20,8 @@ func writeJSON(w http.ResponseWriter, code int, v any) { w.WriteHeader(code) _ = json.NewEncoder(w).Encode(v) } + +func writeFile(w http.ResponseWriter, file *adapters.FsFile) { + w.Header().Set("Content-Type", file.Type) + w.Write(file.Content) +} diff --git a/server/internal/handler/handler.go b/server/internal/handler/handler.go index 9a1f13e..ca10056 100644 --- a/server/internal/handler/handler.go +++ b/server/internal/handler/handler.go @@ -52,15 +52,7 @@ func (h *Handler) get(w http.ResponseWriter, target string) { return } - res := ResponseItem{ - Name: fsEntry.File.Name, - Content: fsEntry.File.Content, - Type: fsEntry.File.Type, - IsDir: false, - Size: int64(len(fsEntry.File.Content)), - ModTime: fsEntry.File.ModTime, - } - writeJSON(w, 200, res) + writeFile(w, fsEntry.File) return }