From acfad88cb833bdcf5ad3badba0f6476e79a1bf09 Mon Sep 17 00:00:00 2001 From: Julien Riou Date: Thu, 2 Oct 2025 07:21:15 +0200 Subject: [PATCH] feat: Handle X-Forwarded-Proto header Fixes #39. Signed-off-by: Julien Riou --- src/server/db.go | 2 +- src/server/handlers_web.go | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/server/db.go b/src/server/db.go index d8b81f0..9f10855 100644 --- a/src/server/db.go +++ b/src/server/db.go @@ -161,7 +161,7 @@ func (d *Database) Create(content []byte, password []byte, encryptionKey string, note.Encrypted = true } - if password != nil { + if len(password) > 0 { hash, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost) if err != nil { return nil, err diff --git a/src/server/handlers_web.go b/src/server/handlers_web.go index fc24035..ba39258 100644 --- a/src/server/handlers_web.go +++ b/src/server/handlers_web.go @@ -177,8 +177,11 @@ func (h *CreateNoteWithFormHandler) ServeHTTP(w http.ResponseWriter, r *http.Req } logger.Debug("building note url") + var scheme = "http://" - if r.TLS != nil { + if proto := r.Header.Get("X-Forwarded-Proto"); proto != "" { + scheme = proto + "://" + } else if r.TLS != nil { scheme = "https://" }