From 1c24c3fc8ce8529065a61ea8d19e8dbd69ba2421 Mon Sep 17 00:00:00 2001 From: Jim Ma Date: Wed, 16 Nov 2022 18:19:21 +0800 Subject: [PATCH] fix: expire header timezone (#1840) Signed-off-by: Jim Ma --- client/daemon/rpcserver/rpcserver.go | 3 ++- pkg/source/header.go | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/client/daemon/rpcserver/rpcserver.go b/client/daemon/rpcserver/rpcserver.go index 21dacdefe..bb759d564 100644 --- a/client/daemon/rpcserver/rpcserver.go +++ b/client/daemon/rpcserver/rpcserver.go @@ -435,7 +435,8 @@ func (s *server) recursiveDownloadWithP2PMetadata( // update url scheme purl.Scheme = source.ListMetadataScheme // update cache expire time - urlMeta.Header[source.ListMetadataExpire] = time.Now().Add(s.cacheRecursiveMetadata).Format(source.ExpireLayout) + // The target format is GMT time, need convert to UTC time first + urlMeta.Header[source.ListMetadataExpire] = time.Now().Add(s.cacheRecursiveMetadata).UTC().Format(source.ExpireLayout) rc, _, err := s.peerTaskManager.StartStreamTask(ctx, &peer.StreamTaskRequest{ URL: purl.String(), diff --git a/pkg/source/header.go b/pkg/source/header.go index 8cfde0510..19e1f01f3 100644 --- a/pkg/source/header.go +++ b/pkg/source/header.go @@ -16,7 +16,10 @@ package source -import "net/textproto" +import ( + "net/http" + "net/textproto" +) const ( // Range is different with HTTP Range, it's without "bytes=" prefix @@ -24,8 +27,8 @@ const ( ) const ( - LastModifiedLayout = "Mon, 02 Jan 2006 15:04:05 GMT" - ExpireLayout = "Mon, 02 Jan 2006 15:04:05 GMT" + LastModifiedLayout = http.TimeFormat + ExpireLayout = http.TimeFormat ) type ExpireInfo struct {