5 Commits

Author SHA1 Message Date
agin719
e4f008639e Merge pull request #77 from agin719/common-dev
update tag 0.7.5
2020-05-14 20:50:33 +08:00
jojoliang
d9d86f64ad update tag 0.7.5 2020-05-14 20:24:26 +08:00
agin719
ded65e43b6 Merge pull request #75 from maxming2333/master
feat: Object.Delete 增加 optHeader 传递
2020-05-08 16:00:21 +08:00
keroming
2eee5149d7 feat: 改为可选参数,向下兼容 2020-05-07 17:46:43 +08:00
keroming
279cb4feb0 feat: Object.Delete 增加 optHeader 传递 2020-05-07 17:12:38 +08:00
3 changed files with 16 additions and 3 deletions

2
cos.go
View File

@@ -21,7 +21,7 @@ import (
const (
// Version current go sdk version
Version = "0.7.4"
Version = "0.7.5"
userAgent = "cos-go-sdk-v5/" + Version
contentTypeXML = "application/xml"
defaultServiceBaseURL = "http://service.cos.myqcloud.com"

View File

@@ -29,7 +29,7 @@ func main() {
name := "test/objectPut.go"
_, err := c.Object.Delete(context.Background(), name)
_, err := c.Object.Delete(context.Background(), name, nil)
if err != nil {
panic(err)
}

View File

@@ -272,19 +272,32 @@ func (s *ObjectService) Copy(ctx context.Context, name, sourceURL string, opt *O
return &res, resp, err
}
type ObjectDeleteOptions struct {
// SSE-C
XCosSSECustomerAglo string `header:"x-cos-server-side-encryption-customer-algorithm,omitempty" url:"-" xml:"-"`
XCosSSECustomerKey string `header:"x-cos-server-side-encryption-customer-key,omitempty" url:"-" xml:"-"`
XCosSSECustomerKeyMD5 string `header:"x-cos-server-side-encryption-customer-key-MD5,omitempty" url:"-" xml:"-"`
//兼容其他自定义头部
XOptionHeader *http.Header `header:"-,omitempty" url:"-" xml:"-"`
}
// Delete Object请求可以将一个文件Object删除。
//
// https://www.qcloud.com/document/product/436/7743
func (s *ObjectService) Delete(ctx context.Context, name string) (*Response, error) {
func (s *ObjectService) Delete(ctx context.Context, name string, opt ...*ObjectDeleteOptions) (*Response, error) {
var optHeader *ObjectDeleteOptions
// When use "" string might call the delete bucket interface
if len(name) == 0 {
return nil, errors.New("empty object name")
}
if len(opt) > 0 {
optHeader = opt[0]
}
sendOpt := sendOptions{
baseURL: s.client.BaseURL.BucketURL,
uri: "/" + encodeURIComponent(name),
method: http.MethodDelete,
optHeader: optHeader,
}
resp, err := s.client.send(ctx, &sendOpt)
return resp, err