Initial commit (code only without large binaries)
This commit is contained in:
65
EdgeNode/internal/oss/provider.go
Normal file
65
EdgeNode/internal/oss/provider.go
Normal file
@@ -0,0 +1,65 @@
|
||||
// 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)
|
||||
}
|
||||
Reference in New Issue
Block a user