@@ -23,7 +23,6 @@ import (
2323 "io/ioutil"
2424 "net/http"
2525 "regexp"
26- "strconv"
2726 "strings"
2827
2928 "github.com/cubefs/cubefs/proto"
@@ -86,30 +85,29 @@ func (o *ObjectNode) createBucketHandler(w http.ResponseWriter, r *http.Request)
8685 }
8786 defer rateLimit .ReleaseLimitResource (userInfo .UserID , param .apiName )
8887
89- // get LocationConstraint if any
90- contentLenStr := r . Header . Get ( ContentLength )
91- if contentLen , errConv := strconv . Atoi ( contentLenStr ); errConv == nil && contentLen > 0 {
92- var requestBytes [] byte
93- requestBytes , err = ioutil .ReadAll (r .Body )
94- if err != nil && err != io .EOF {
95- log .LogErrorf ("createBucketHandler: read request body fail: requestID(%v) err(%v)" , GetRequestID (r ), err )
96- return
97- }
88+ _ , errorCode = VerifyContentLength ( r , BodyLimit )
89+ if errorCode != nil {
90+ return
91+ }
92+ requestBytes , err : = ioutil .ReadAll (r .Body )
93+ if err != nil && err != io .EOF {
94+ log .LogErrorf ("createBucketHandler: read request body fail: requestID(%v) err(%v)" , GetRequestID (r ), err )
95+ return
96+ }
9897
99- createBucketRequest := & CreateBucketRequest {}
100- err = UnmarshalXMLEntity (requestBytes , createBucketRequest )
101- if err != nil {
102- log .LogErrorf ("createBucketHandler: unmarshal xml fail: requestID(%v) err(%v)" ,
103- GetRequestID (r ), err )
104- errorCode = InvalidArgument
105- return
106- }
107- if createBucketRequest .LocationConstraint != o .region {
108- log .LogErrorf ("createBucketHandler: location constraint not match the service: requestID(%v) LocationConstraint(%v) region(%v)" ,
109- GetRequestID (r ), createBucketRequest .LocationConstraint , o .region )
110- errorCode = InvalidLocationConstraint
111- return
112- }
98+ createBucketRequest := & CreateBucketRequest {}
99+ err = UnmarshalXMLEntity (requestBytes , createBucketRequest )
100+ if err != nil {
101+ log .LogErrorf ("createBucketHandler: unmarshal xml fail: requestID(%v) err(%v)" ,
102+ GetRequestID (r ), err )
103+ errorCode = InvalidArgument
104+ return
105+ }
106+ if createBucketRequest .LocationConstraint != o .region {
107+ log .LogErrorf ("createBucketHandler: location constraint not match the service: requestID(%v) LocationConstraint(%v) region(%v)" ,
108+ GetRequestID (r ), createBucketRequest .LocationConstraint , o .region )
109+ errorCode = InvalidLocationConstraint
110+ return
113111 }
114112
115113 var acl * AccessControlPolicy
@@ -397,6 +395,10 @@ func (o *ObjectNode) putBucketTaggingHandler(w http.ResponseWriter, r *http.Requ
397395 }
398396 defer rateLimit .ReleaseLimitResource (vol .owner , param .apiName )
399397
398+ _ , errorCode = VerifyContentLength (r , BodyLimit )
399+ if errorCode != nil {
400+ return
401+ }
400402 var body []byte
401403 if body , err = ioutil .ReadAll (r .Body ); err != nil {
402404 log .LogErrorf ("putBucketTaggingHandler: read request body data fail: requestID(%v) err(%v)" ,
0 commit comments