func (c *Client) GeneratePresignedUrl(bucketName, objectKey string, option *bce.SignOption) (string, error) { checkBucketName(bucketName) checkObjectKey(objectKey) req, err := bce.NewRequest("GET", c.GetURL(bucketName, objectKey, nil), nil) if err != nil { return "", err } option = bce.CheckSignOption(option) option.HeadersToSign = []string{"host"} authorization := bce.GenerateAuthorization(*c.Credentials, *req, option) url := fmt.Sprintf("%s?authorization=%s", req.URL.String(), util.URLEncode(authorization)) return url, nil }