// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . //go:build plus package oss import ( "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ossconfigs" "github.com/TeaOSLab/EdgeNode/internal/utils/fasttime" "net/http" ) type Provider struct { rawProvider ProviderInterface uniqueId string UpdatedAt int64 } func NewProvider(rawProvider ProviderInterface) *Provider { return &Provider{ rawProvider: rawProvider, UpdatedAt: fasttime.Now().Unix(), } } func (this *Provider) Init(options ossconfigs.OSSOptions, bucketName string) error { return this.rawProvider.Init(options, bucketName) } func (this *Provider) SetUniqueId(uniqueId string) { this.uniqueId = uniqueId } func (this *Provider) UniqueId() string { return this.uniqueId } func (this *Provider) Head(key string) (resp *http.Response, nativeErrCode string, err error) { this.UpdatedAt = fasttime.Now().Unix() if len(key) == 0 { return nil, "", errNotFound } return this.rawProvider.Head(key) } func (this *Provider) Get(key string) (resp *http.Response, nativeErrCode string, err error) { this.UpdatedAt = fasttime.Now().Unix() if len(key) == 0 { return nil, "", errNotFound } return this.rawProvider.Get(key) } func (this *Provider) GetRange(key string, bytesRange string) (resp *http.Response, nativeErrCode string, err error) { this.UpdatedAt = fasttime.Now().Unix() if len(key) == 0 { return nil, "", errNotFound } return this.rawProvider.GetRange(key, bytesRange) }