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"