/
abortmultipartupload.go
30 lines (25 loc) · 1.08 KB
/
abortmultipartupload.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package s3
import (
"github.com/emicklei/go-restful"
"github.com/opensds/multi-cloud/api/pkg/common"
pb "github.com/opensds/multi-cloud/s3/proto"
log "github.com/sirupsen/logrus"
)
func (s *APIService) AbortMultipartUpload(request *restful.Request, response *restful.Response) {
bucketName := request.PathParameter("bucketName")
objectKey := request.PathParameter("objectKey")
uploadId := request.QueryParameter("uploadId")
multipartUpload := pb.MultipartUpload{}
multipartUpload.Key = objectKey
multipartUpload.Bucket = bucketName
multipartUpload.UploadId = uploadId
ctx := common.InitCtxWithAuthInfo(request)
result, err := s.s3Client.AbortMultipartUpload(ctx, &pb.AbortMultipartRequest{BucketName:bucketName,ObjectKey:objectKey,UploadId:uploadId})
if HandleS3Error(response, request, err, result.GetErrorCode()) != nil {
log.Errorf("unable to abort multipart. err:%v, errCode:%v", err, result.ErrorCode)
return
}
WriteSuccessNoContent(response)
log.Infof("Abort multipart upload[bucketName=%s, objectKey=%s, uploadId=%s] successfully.\n",
bucketName, objectKey, uploadId)
}