From 5f70d1b5dc929cba5be00ac26a6d1ac7531bdfaa Mon Sep 17 00:00:00 2001 From: dtapps Date: Fri, 22 Dec 2023 13:45:10 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E5=A2=9E=E5=8A=A0=20`context`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- aliyun.go | 2 +- aws.go | 4 ++-- baidu.go | 5 +++-- huaweicloud.go | 5 +++-- jdcloud.go | 3 ++- ksyun.go | 5 +++-- qiniu.go | 6 +++--- tencent.go | 10 +++++----- upyun.go | 5 +++-- version.go | 2 +- 11 files changed, 27 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 9afc0ab..800cde8 100644 --- a/README.md +++ b/README.md @@ -13,5 +13,5 @@ #### 安装 ```shell -go get -v -u go.dtapp.net/gostorage@v1.0.14 +go get -v -u go.dtapp.net/gostorage@v1.0.15 ``` \ No newline at end of file diff --git a/aliyun.go b/aliyun.go index 15ff3d9..df7d9b3 100644 --- a/aliyun.go +++ b/aliyun.go @@ -28,7 +28,7 @@ type AliYun struct { // NewAliYun 初始化 // https://help.aliyun.com/document_detail/32144.html -func NewAliYun(config *AliYunConfig) (*AliYun, error) { +func NewAliYun(ctx context.Context, config *AliYunConfig) (*AliYun, error) { app := &AliYun{} app.accessKeyId = config.AccessKeyId app.accessKeySecret = config.AccessKeySecret diff --git a/aws.go b/aws.go index 898f4f7..b79f4a8 100644 --- a/aws.go +++ b/aws.go @@ -10,11 +10,11 @@ type Aws struct { client *s3.Client } -func NewAws() *Aws { +func NewAws(ctx context.Context) *Aws { ac := &Aws{} - cfg, err := config.LoadDefaultConfig(context.TODO()) + cfg, err := config.LoadDefaultConfig(ctx) if err != nil { panic("configuration error, " + err.Error()) } diff --git a/baidu.go b/baidu.go index 5a0fb7d..e563ae6 100644 --- a/baidu.go +++ b/baidu.go @@ -1,6 +1,7 @@ package gostorage import ( + "context" "github.com/baidubce/bce-sdk-go/bce" "github.com/baidubce/bce-sdk-go/services/bos" "io" @@ -18,7 +19,7 @@ type Baidu struct { // NewBaidu 初始化 // https://cloud.baidu.com/doc/BOS/s/4jwvyry1p -func NewBaidu(accessKey string, secretAccessKey, endpoint, bucketName string) *Baidu { +func NewBaidu(ctx context.Context, accessKey string, secretAccessKey, endpoint, bucketName string) *Baidu { app := &Baidu{AccessKey: accessKey, SecretAccessKey: secretAccessKey, Endpoint: endpoint, BucketName: bucketName} clientConfig := bos.BosClientConfiguration{ Ak: accessKey, @@ -40,7 +41,7 @@ func (c *Baidu) Bucket(name string) *Baidu { // @param file 文件流 // @param filePath 文件路径 // @param fileName 文件名称 -func (c *Baidu) PutObject(file io.Reader, filePath, fileName string) (resp FileInfo, err error) { +func (c *Baidu) PutObject(ctx context.Context, file io.Reader, filePath, fileName string) (resp FileInfo, err error) { objectKey := filePath if fileName != "" { objectKey = filePath + "/" + fileName diff --git a/huaweicloud.go b/huaweicloud.go index b870a26..cfc9412 100644 --- a/huaweicloud.go +++ b/huaweicloud.go @@ -1,6 +1,7 @@ package gostorage import ( + "context" "github.com/huaweicloud/huaweicloud-sdk-go-obs/obs" "io" ) @@ -17,7 +18,7 @@ type Huaweicloud struct { // NewHuaweicloud 初始化 // https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0001.html -func NewHuaweicloud(accessKey string, secretKey string, endpoint string, bucketName string) *Huaweicloud { +func NewHuaweicloud(ctx context.Context, accessKey string, secretKey string, endpoint string, bucketName string) *Huaweicloud { app := &Huaweicloud{AccessKey: accessKey, SecretKey: secretKey, Endpoint: endpoint, BucketName: bucketName} app.client, app.error = obs.New(accessKey, secretKey, endpoint) if app.error == nil { @@ -36,7 +37,7 @@ func (c *Huaweicloud) Bucket(name string) *Huaweicloud { // @param file 文件流 // @param filePath 文件路径 // @param fileName 文件名称 -func (c *Huaweicloud) PutObject(file io.Reader, filePath, fileName string) (resp FileInfo, err error) { +func (c *Huaweicloud) PutObject(ctx context.Context, file io.Reader, filePath, fileName string) (resp FileInfo, err error) { objectKey := filePath if fileName != "" { objectKey = filePath + "/" + fileName diff --git a/jdcloud.go b/jdcloud.go index b7dc145..e8a535a 100644 --- a/jdcloud.go +++ b/jdcloud.go @@ -1,6 +1,7 @@ package gostorage import ( + "context" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/session" @@ -20,7 +21,7 @@ type Jdcloud struct { // NewJdcloud 初始化 // https://docs.jdcloud.com/cn/object-storage-service/sdk-go -func NewJdcloud(accessKey string, secretKey string, endpoint *string, regions *string, bucketName string) *Jdcloud { +func NewJdcloud(ctx context.Context, accessKey string, secretKey string, endpoint *string, regions *string, bucketName string) *Jdcloud { app := &Jdcloud{AccessKey: accessKey, SecretKey: secretKey, Endpoint: endpoint, Regions: regions, BucketName: bucketName} reds := credentials.NewStaticCredentials(accessKey, secretKey, "") _, app.error = reds.Get() diff --git a/ksyun.go b/ksyun.go index caac6c7..c31c544 100644 --- a/ksyun.go +++ b/ksyun.go @@ -1,6 +1,7 @@ package gostorage import ( + "context" "github.com/ks3sdklib/aws-sdk-go/aws" "github.com/ks3sdklib/aws-sdk-go/aws/credentials" "github.com/ks3sdklib/aws-sdk-go/service/s3" @@ -19,7 +20,7 @@ type Ksyun struct { // NewKsyun 初始化 // https://docs.ksyun.com/documents/40487 -func NewKsyun(accessKey string, secretKey string, endpoint string, regions string, bucketName string) *Ksyun { +func NewKsyun(ctx context.Context, accessKey string, secretKey string, endpoint string, regions string, bucketName string) *Ksyun { app := &Ksyun{AccessKey: accessKey, SecretKey: secretKey, Endpoint: endpoint, Regions: regions, BucketName: bucketName} var cre = credentials.NewStaticCredentials(accessKey, secretKey, "") app.client = s3.New(&aws.Config{ @@ -40,7 +41,7 @@ func (c *Ksyun) Bucket(name string) *Ksyun { // @param file 文件流 // @param filePath 文件路径 // @param fileName 文件名称 -func (c *Ksyun) PutObject(file io.Reader, filePath, fileName, acl string) (resp FileInfo, err error) { +func (c *Ksyun) PutObject(ctx context.Context, file io.Reader, filePath, fileName, acl string) (resp FileInfo, err error) { objectKey := filePath if fileName != "" { objectKey = filePath + "/" + fileName diff --git a/qiniu.go b/qiniu.go index 28877bf..8195c3e 100644 --- a/qiniu.go +++ b/qiniu.go @@ -19,7 +19,7 @@ type Qiniu struct { // NewQiniu 初始化 // https://developer.qiniu.com/kodo/1238/go -func NewQiniu(accessKey string, secretKey string, bucketName string) *Qiniu { +func NewQiniu(ctx context.Context, accessKey string, secretKey string, bucketName string) *Qiniu { app := &Qiniu{AccessKey: accessKey, SecretKey: secretKey, BucketName: bucketName} app.client = qbox.NewMac(accessKey, secretKey) app.bucket.Scope = bucketName @@ -37,7 +37,7 @@ func (c *Qiniu) Bucket(name string) *Qiniu { // @param file 文件流 // @param filePath 文件路径 // @param fileName 文件名称 -func (c *Qiniu) PutObject(file io.Reader, filePath, fileName, acl string) (resp FileInfo, err error) { +func (c *Qiniu) PutObject(ctx context.Context, file io.Reader, filePath, fileName, acl string) (resp FileInfo, err error) { objectKey := filePath if fileName != "" { objectKey = filePath + "/" + fileName @@ -55,7 +55,7 @@ func (c *Qiniu) PutObject(file io.Reader, filePath, fileName, acl string) (resp ret := storage.PutRet{} putExtra := storage.PutExtra{} - err = formUploader.Put(context.Background(), &ret, c.upToken, objectKey, file, -1, &putExtra) + err = formUploader.Put(ctx, &ret, c.upToken, objectKey, file, -1, &putExtra) resp.Path = filePath resp.Name = fileName diff --git a/tencent.go b/tencent.go index bd290cc..ff21200 100644 --- a/tencent.go +++ b/tencent.go @@ -21,7 +21,7 @@ type Tencent struct { // NewTencent 初始化 // https://cloud.tencent.com/document/product/436/31215 -func NewTencent(secretID, secretKey, regions, bucketName string) *Tencent { +func NewTencent(ctx context.Context, secretID, secretKey, regions, bucketName string) *Tencent { app := &Tencent{SecretID: secretID, SecretKey: secretKey, Regions: regions, BucketName: bucketName} u, _ := url.Parse(fmt.Sprintf("https://%s.cos.%s.myqcloud.com", bucketName, regions)) su, _ := url.Parse(fmt.Sprintf("https://cos.%s.myqcloud.com", regions)) @@ -37,20 +37,20 @@ func NewTencent(secretID, secretKey, regions, bucketName string) *Tencent { } // Bucket 存储空间 -func (c *Tencent) Bucket(name string) *Tencent { - return NewTencent(c.SecretID, c.SecretKey, c.Regions, name) +func (c *Tencent) Bucket(ctx context.Context, name string) *Tencent { + return NewTencent(ctx, c.SecretID, c.SecretKey, c.Regions, name) } // PutObject 上传文件流 // @param file 文件流 // @param filePath 文件路径 // @param fileName 文件名称 -func (c *Tencent) PutObject(file io.Reader, filePath, fileName string) (resp FileInfo, err error) { +func (c *Tencent) PutObject(ctx context.Context, file io.Reader, filePath, fileName string) (resp FileInfo, err error) { objectKey := filePath if fileName != "" { objectKey = filePath + "/" + fileName } - _, err = c.client.Object.Put(context.Background(), objectKey, file, nil) + _, err = c.client.Object.Put(ctx, objectKey, file, nil) resp.Path = filePath resp.Name = fileName resp.Url = objectKey diff --git a/upyun.go b/upyun.go index 27b4592..14abd7e 100644 --- a/upyun.go +++ b/upyun.go @@ -1,6 +1,7 @@ package gostorage import ( + "context" "github.com/upyun/go-sdk/v3/upyun" "io" ) @@ -15,7 +16,7 @@ type Upyun struct { // NewUpyun 初始化 // https://github.com/upyun/go-sdk -func NewUpyun(operator string, password string, bucketName string) *Upyun { +func NewUpyun(ctx context.Context, operator string, password string, bucketName string) *Upyun { app := &Upyun{Operator: operator, Password: password, BucketName: bucketName} app.client = upyun.NewUpYun(&upyun.UpYunConfig{ Bucket: bucketName, @@ -35,7 +36,7 @@ func (c *Upyun) Bucket(name string) *Upyun { // @param file 文件流 // @param filePath 文件路径 // @param fileName 文件名称 -func (c *Upyun) PutObject(file io.Reader, filePath, fileName, acl string) (resp FileInfo, err error) { +func (c *Upyun) PutObject(ctx context.Context, file io.Reader, filePath, fileName, acl string) (resp FileInfo, err error) { objectKey := filePath if fileName != "" { objectKey = filePath + "/" + fileName diff --git a/version.go b/version.go index 9a83873..57b1265 100644 --- a/version.go +++ b/version.go @@ -1,3 +1,3 @@ package gostorage -const Version = "1.0.14" +const Version = "1.0.15"