Skip to content

Commit ded65e4

Browse files
authored
Merge pull request #75 from maxming2333/master
feat: Object.Delete 增加 optHeader 传递
2 parents 88aeef5 + 2eee514 commit ded65e4

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

example/object/delete.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func main() {
2929

3030
name := "test/objectPut.go"
3131

32-
_, err := c.Object.Delete(context.Background(), name)
32+
_, err := c.Object.Delete(context.Background(), name, nil)
3333
if err != nil {
3434
panic(err)
3535
}

object.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,19 +272,32 @@ func (s *ObjectService) Copy(ctx context.Context, name, sourceURL string, opt *O
272272
return &res, resp, err
273273
}
274274

275+
type ObjectDeleteOptions struct {
276+
// SSE-C
277+
XCosSSECustomerAglo string `header:"x-cos-server-side-encryption-customer-algorithm,omitempty" url:"-" xml:"-"`
278+
XCosSSECustomerKey string `header:"x-cos-server-side-encryption-customer-key,omitempty" url:"-" xml:"-"`
279+
XCosSSECustomerKeyMD5 string `header:"x-cos-server-side-encryption-customer-key-MD5,omitempty" url:"-" xml:"-"`
280+
//兼容其他自定义头部
281+
XOptionHeader *http.Header `header:"-,omitempty" url:"-" xml:"-"`
282+
}
275283
// Delete Object请求可以将一个文件(Object)删除。
276284
//
277285
// https://www.qcloud.com/document/product/436/7743
278-
func (s *ObjectService) Delete(ctx context.Context, name string) (*Response, error) {
286+
func (s *ObjectService) Delete(ctx context.Context, name string, opt ...*ObjectDeleteOptions) (*Response, error) {
287+
var optHeader *ObjectDeleteOptions
279288
// When use "" string might call the delete bucket interface
280289
if len(name) == 0 {
281290
return nil, errors.New("empty object name")
282291
}
292+
if len(opt) > 0 {
293+
optHeader = opt[0]
294+
}
283295

284296
sendOpt := sendOptions{
285297
baseURL: s.client.BaseURL.BucketURL,
286298
uri: "/" + encodeURIComponent(name),
287299
method: http.MethodDelete,
300+
optHeader: optHeader,
288301
}
289302
resp, err := s.client.send(ctx, &sendOpt)
290303
return resp, err

0 commit comments

Comments
 (0)