| 1234567891011121314151617181920212223242526272829303132333435363738 |
- package tos
- import (
- "context"
- "net/http"
- )
- const (
- BucketVersioningEnable = "Enabled"
- BucketVersioningSuspended = "Suspended"
- )
- type GetBucketVersioningOutput struct {
- RequestInfo `json:"-"`
- Status string `json:"Status"`
- }
- // GetBucketVersioning get the multi-version status of a bucket
- func (cli *Client) GetBucketVersioning(ctx context.Context, bucket string) (*GetBucketVersioningOutput, error) {
- if err := isValidBucketName(bucket, cli.isCustomDomain); err != nil {
- return nil, err
- }
- res, err := cli.newBuilder(bucket, "").
- WithQuery("versioning", "").
- WithRetry(nil, StatusCodeClassifier{}).
- Request(ctx, http.MethodGet, nil, cli.roundTripper(http.StatusOK))
- if err != nil {
- return nil, err
- }
- defer res.Close()
- output := GetBucketVersioningOutput{RequestInfo: res.RequestInfo()}
- if err = marshalOutput(output.RequestID, res.Body, &output); err != nil {
- return nil, err
- }
- return &output, nil
- }
|