diff --git a/caldav/caldav.go b/caldav/caldav.go index 9d5ca11..014e257 100644 --- a/caldav/caldav.go +++ b/caldav/caldav.go @@ -117,8 +117,9 @@ type CalendarMultiGet struct { } type CalendarObject struct { - Path string - ModTime time.Time - ETag string - Data *ical.Calendar + Path string + ModTime time.Time + ContentLength int64 + ETag string + Data *ical.Calendar } diff --git a/caldav/server.go b/caldav/server.go index f713174..b7273f5 100644 --- a/caldav/server.go +++ b/caldav/server.go @@ -465,6 +465,11 @@ func (b *backend) propfindCalendarObject(ctx context.Context, propfind *internal }, } + if co.ContentLength > 0 { + props[internal.GetContentLengthName] = func(*internal.RawXMLValue) (interface{}, error) { + return &internal.GetContentLength{Length: co.ContentLength}, nil + } + } if !co.ModTime.IsZero() { props[internal.GetLastModifiedName] = func(*internal.RawXMLValue) (interface{}, error) { return &internal.GetLastModified{LastModified: internal.Time(co.ModTime)}, nil