docs: func SignSDKRequest(req *request.Request) {
  	// If the request does not need to be signed ignore the signing of the
  	// request if the AnonymousCredentials object is used.
  	if req.Config.Credentials == credentials.AnonymousCredentials {
  		return
  	}
  
  	if req.HTTPRequest.Method != "POST" && req.HTTPRequest.Method != "GET" {
  		// The V2 signer only supports GET and POST
  		req.Error = errInvalidMethod
  		return
  	}
  
  	v2 := signer{
  		Request:     req.HTTPRequest,
  		Time:        req.Time,
  		Credentials: req.Config.Credentials,
  		Debug:       req.Config.LogLevel.Value(),
  		Logger:      req.Config.Logger,
  	}
  
  	req.Error = v2.Sign()
  
  	if req.Error != nil {
  		return
  	}
  
  	if req.HTTPRequest.Method == "POST" {
  		// Set the body of the request based on the modified query parameters
  		req.SetStringBody(v2.Query.Encode())
  
  		// Now that the body has changed, remove any Content-Length header,
  		// because it will be incorrect
  		req.HTTPRequest.ContentLength = 0
  		req.HTTPRequest.Header.Del("Content-Length")
  	} else {
  		req.HTTPRequest.URL.RawQuery = v2.Query.Encode()
  	}
  }