mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
fix: the same-storage check in the new pre-sign
feature (#2860)
* fix: error check for the same oss-storage * fix: conflict error2 variable in code refactor in s3.go * chore: rename endpointUrl to endpointURL
This commit is contained in:
@ -77,7 +77,7 @@ func (client *Client) UploadFile(ctx context.Context, filename string, fileType
|
||||
ContentType: aws.String(fileType),
|
||||
}
|
||||
// Set ACL according to if url prefix is set.
|
||||
if client.Config.URLPrefix == "" {
|
||||
if client.Config.URLPrefix == "" && !client.Config.PreSign {
|
||||
putInput.ACL = types.ObjectCannedACL(*aws.String("public-read"))
|
||||
}
|
||||
uploadOutput, err := uploader.Upload(ctx, &putInput)
|
||||
@ -113,7 +113,15 @@ func (client *Client) PreSignLink(ctx context.Context, sourceLink string) (strin
|
||||
}
|
||||
// if link doesn't belong to storage, then return as-is.
|
||||
// the empty hostname is corner-case for AWS native endpoint.
|
||||
if client.Config.EndPoint != "" && !strings.Contains(client.Config.EndPoint, u.Hostname()) {
|
||||
endpointURL, err := url.Parse(client.Config.EndPoint)
|
||||
if err != nil {
|
||||
return "", errors.Wrapf(err, "parse Endpoint URL")
|
||||
}
|
||||
endpointHost := endpointURL.Hostname()
|
||||
if client.Config.Bucket != "" && !strings.Contains(endpointHost, client.Config.Bucket) {
|
||||
endpointHost = fmt.Sprintf("%s.%s", client.Config.Bucket, endpointHost)
|
||||
}
|
||||
if client.Config.EndPoint != "" && !strings.Contains(endpointHost, u.Hostname()) {
|
||||
return sourceLink, nil
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user