From 59e68455b69fdda45b72119159d31b47dddbd8e5 Mon Sep 17 00:00:00 2001 From: Khairul Hidayat Date: Tue, 15 Apr 2025 03:20:04 +0700 Subject: [PATCH] fix: panic when download file --- backend/router/browse.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/backend/router/browse.go b/backend/router/browse.go index 72d0a3d..1f0f80d 100644 --- a/backend/router/browse.go +++ b/backend/router/browse.go @@ -146,11 +146,20 @@ func (b *Browse) GetOneObject(w http.ResponseWriter, r *http.Request) { return } - w.Header().Set("Content-Type", *object.ContentType) - w.Header().Set("Content-Length", strconv.FormatInt(*object.ContentLength, 10)) w.Header().Set("Cache-Control", "max-age=86400") w.Header().Set("Last-Modified", object.LastModified.Format(time.RFC1123)) - w.Header().Set("Etag", *object.ETag) + + if object.ContentType != nil { + w.Header().Set("Content-Type", *object.ContentType) + } else { + w.Header().Set("Content-Type", "application/octet-stream") + } + if object.ContentLength != nil { + w.Header().Set("Content-Length", strconv.FormatInt(*object.ContentLength, 10)) + } + if object.ETag != nil { + w.Header().Set("Etag", *object.ETag) + } _, err = io.Copy(w, object.Body)