From 1e99b70a62070b812f237e95582803f0b8c49e5b Mon Sep 17 00:00:00 2001 From: Conrad Hoffmann Date: Tue, 24 May 2022 10:57:37 +0200 Subject: [PATCH] carddav: set content length header for HEAD/GET requests Now that the backend can supply this value, use it for explicitly setting the header in GET/HEAD responses if available. --- carddav/server.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/carddav/server.go b/carddav/server.go index 93bf5f4..02d8fc1 100644 --- a/carddav/server.go +++ b/carddav/server.go @@ -7,6 +7,7 @@ import ( "fmt" "mime" "net/http" + "strconv" "github.com/emersion/go-vcard" "github.com/emersion/go-webdav" @@ -289,6 +290,9 @@ func (b *backend) HeadGet(w http.ResponseWriter, r *http.Request) error { } w.Header().Set("Content-Type", vcard.MIMEType) + if ao.ContentLength > 0 { + w.Header().Set("Content-Length", strconv.FormatInt(ao.ContentLength, 10)) + } if ao.ETag != "" { w.Header().Set("ETag", internal.ETag(ao.ETag).String()) }