Skip to content

Commit

Permalink
add append && add retry
Browse files Browse the repository at this point in the history
  • Loading branch information
jojoliang committed Aug 25, 2021
1 parent a505960 commit 6d06f34
Show file tree
Hide file tree
Showing 30 changed files with 441 additions and 161 deletions.
4 changes: 2 additions & 2 deletions bucket_accelerate.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ func (s *BucketService) PutAccelerate(ctx context.Context, opt *BucketPutAcceler
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return resp, err
}

Expand All @@ -32,6 +32,6 @@ func (s *BucketService) GetAccelerate(ctx context.Context) (*BucketGetAccelerate
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return &res, resp, err
}
5 changes: 5 additions & 0 deletions bucket_accelerate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ func TestBucketService_PutAccelerate(t *testing.T) {
Type: "COS",
}

rt := 0
mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "PUT")
vs := values{
Expand All @@ -65,6 +66,10 @@ func TestBucketService_PutAccelerate(t *testing.T) {
if !reflect.DeepEqual(body, want) {
t.Errorf("Bucket.PutAccelerate request\n body: %+v\n, want %+v\n", body, want)
}
rt++
if rt < 3 {
w.WriteHeader(http.StatusBadGateway)
}
})

_, err := client.Bucket.PutAccelerate(context.Background(), opt)
Expand Down
4 changes: 2 additions & 2 deletions bucket_acl.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ func (s *BucketService) GetACL(ctx context.Context) (*BucketGetACLResult, *Respo
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
if err == nil {
decodeACL(resp, &res)
}
Expand Down Expand Up @@ -60,6 +60,6 @@ func (s *BucketService) PutACL(ctx context.Context, opt *BucketPutACLOptions) (*
body: body,
optHeader: header,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err
}
8 changes: 4 additions & 4 deletions bucket_cors.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ func (s *BucketService) GetCORS(ctx context.Context) (*BucketGetCORSResult, *Res
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return &res, resp, err
}

// BucketPutCORSOptions is the option of PutBucketCORS
// BucketPutCORSOptions is the option of PutBucketCORS
type BucketPutCORSOptions struct {
XMLName xml.Name `xml:"CORSConfiguration"`
Rules []BucketCORSRule `xml:"CORSRule,omitempty"`
Expand All @@ -53,7 +53,7 @@ func (s *BucketService) PutCORS(ctx context.Context, opt *BucketPutCORSOptions)
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err
}

Expand All @@ -66,6 +66,6 @@ func (s *BucketService) DeleteCORS(ctx context.Context) (*Response, error) {
uri: "/?cors",
method: http.MethodDelete,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err
}
4 changes: 2 additions & 2 deletions bucket_domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ func (s *BucketService) PutDomain(ctx context.Context, opt *BucketPutDomainOptio
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return resp, err
}

Expand All @@ -34,6 +34,6 @@ func (s *BucketService) GetDomain(ctx context.Context) (*BucketGetDomainResult,
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return &res, resp, err
}
18 changes: 17 additions & 1 deletion bucket_domain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,18 @@ func TestBucketService_GetDomain(t *testing.T) {
setup()
defer teardown()

rt := 0
mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "GET")
vs := values{
"domain": "",
}
testFormValues(t, r, vs)
rt++
if rt < 3 {
w.WriteHeader(http.StatusGatewayTimeout)
}

fmt.Fprint(w, `<DomainConfiguration>
<DomainRule>
<Status>ENABLED</Status>
Expand Down Expand Up @@ -59,13 +65,17 @@ func TestBucketService_PutDomain(t *testing.T) {
ForcedReplacement: "CNAME",
}

rt := 0
mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "PUT")
vs := values{
"domain": "",
}
testFormValues(t, r, vs)

rt++
if rt < 3 {
w.WriteHeader(http.StatusGatewayTimeout)
}
body := new(BucketPutDomainOptions)
xml.NewDecoder(r.Body).Decode(body)
want := opt
Expand All @@ -87,13 +97,19 @@ func TestBucketService_DeleteDomain(t *testing.T) {

opt := &BucketPutDomainOptions{}

rt := 0
mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, http.MethodPut)
vs := values{
"domain": "",
}
testFormValues(t, r, vs)

rt++
if rt < 3 {
w.WriteHeader(http.StatusGatewayTimeout)
return
}
body := new(BucketPutDomainOptions)
xml.NewDecoder(r.Body).Decode(body)
want := opt
Expand Down
6 changes: 3 additions & 3 deletions bucket_encryption.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func (s *BucketService) PutEncryption(ctx context.Context, opt *BucketPutEncrypt
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return resp, err
}

Expand All @@ -36,7 +36,7 @@ func (s *BucketService) GetEncryption(ctx context.Context) (*BucketGetEncryption
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return &res, resp, err
}

Expand All @@ -46,6 +46,6 @@ func (s *BucketService) DeleteEncryption(ctx context.Context) (*Response, error)
uri: "/?encryption",
method: http.MethodDelete,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return resp, err
}
4 changes: 2 additions & 2 deletions bucket_intelligenttiering.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func (s *BucketService) PutIntelligentTiering(ctx context.Context, opt *BucketPu
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err
}

Expand All @@ -41,7 +41,7 @@ func (s *BucketService) GetIntelligentTiering(ctx context.Context) (*BucketGetIn
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return &res, resp, err

}
8 changes: 4 additions & 4 deletions bucket_inventory.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ func (s *BucketService) PutInventory(ctx context.Context, id string, opt *Bucket
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err

}
Expand All @@ -89,7 +89,7 @@ func (s *BucketService) GetInventory(ctx context.Context, id string) (*BucketGet
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return &res, resp, err
}

Expand All @@ -101,7 +101,7 @@ func (s *BucketService) DeleteInventory(ctx context.Context, id string) (*Respon
uri: u,
method: http.MethodDelete,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err
}

Expand All @@ -120,7 +120,7 @@ func (s *BucketService) ListInventoryConfigurations(ctx context.Context, token s
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return &res, resp, err

}
4 changes: 2 additions & 2 deletions bucket_logging.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func (s *BucketService) PutLogging(ctx context.Context, opt *BucketPutLoggingOpt
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err
}

Expand All @@ -44,7 +44,7 @@ func (s *BucketService) GetLogging(ctx context.Context) (*BucketGetLoggingResult
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return &res, resp, err

}
6 changes: 3 additions & 3 deletions bucket_origin.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func (s *BucketService) PutOrigin(ctx context.Context, opt *BucketPutOriginOptio
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return resp, err
}

Expand All @@ -76,7 +76,7 @@ func (s *BucketService) GetOrigin(ctx context.Context) (*BucketGetOriginResult,
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return &res, resp, err
}

Expand All @@ -86,6 +86,6 @@ func (s *BucketService) DeleteOrigin(ctx context.Context) (*Response, error) {
uri: "/?origin",
method: http.MethodDelete,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return resp, err
}
4 changes: 2 additions & 2 deletions bucket_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ func (s *BucketService) GetPolicy(ctx context.Context) (*BucketGetPolicyResult,
method: http.MethodGet,
result: &bs,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
if err == nil {
err = json.Unmarshal(bs.Bytes(), &res)
}
Expand All @@ -66,6 +66,6 @@ func (s *BucketService) DeletePolicy(ctx context.Context) (*Response, error) {
uri: "/?policy",
method: http.MethodDelete,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return resp, err
}
4 changes: 2 additions & 2 deletions bucket_referer.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func (s *BucketService) PutReferer(ctx context.Context, opt *BucketPutRefererOpt
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return resp, err
}

Expand All @@ -35,6 +35,6 @@ func (s *BucketService) GetReferer(ctx context.Context) (*BucketGetRefererResult
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, sendOpt)
resp, err := s.client.doRetry(ctx, sendOpt)
return &res, resp, err
}
6 changes: 3 additions & 3 deletions bucket_replication.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func (s *BucketService) PutBucketReplication(ctx context.Context, opt *PutBucket
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err

}
Expand All @@ -52,7 +52,7 @@ func (s *BucketService) GetBucketReplication(ctx context.Context) (*GetBucketRep
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return &res, resp, err

}
Expand All @@ -64,6 +64,6 @@ func (s *BucketService) DeleteBucketReplication(ctx context.Context) (*Response,
uri: "/?replication",
method: http.MethodDelete,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err
}
6 changes: 3 additions & 3 deletions bucket_tagging.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func (s *BucketService) GetTagging(ctx context.Context) (*BucketGetTaggingResult
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return &res, resp, err
}

Expand All @@ -51,7 +51,7 @@ func (s *BucketService) PutTagging(ctx context.Context, opt *BucketPutTaggingOpt
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err
}

Expand All @@ -64,6 +64,6 @@ func (s *BucketService) DeleteTagging(ctx context.Context) (*Response, error) {
uri: "/?tagging",
method: http.MethodDelete,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err
}
4 changes: 2 additions & 2 deletions bucket_version.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func (s *BucketService) PutVersioning(ctx context.Context, opt *BucketPutVersion
method: http.MethodPut,
body: opt,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return resp, err
}

Expand All @@ -37,6 +37,6 @@ func (s *BucketService) GetVersioning(ctx context.Context) (*BucketGetVersionRes
method: http.MethodGet,
result: &res,
}
resp, err := s.client.send(ctx, &sendOpt)
resp, err := s.client.doRetry(ctx, &sendOpt)
return &res, resp, err
}

0 comments on commit 6d06f34

Please sign in to comment.