Files
waf-platform/EdgeNode/internal/oss/provider.go
2026-02-04 20:27:13 +08:00

66 lines
1.5 KiB
Go

// 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)
}