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 {