fix: k8s minio prefix test

pull/1244/head
withchao 2 years ago
parent cca8b7575a
commit a086ad6543

@ -261,14 +261,10 @@ func (m *Minio) AuthSign(ctx context.Context, uploadID string, name string, expi
return nil, err
}
result := s3.AuthSignResult{
URL: m.signEndpoint + "/" + m.bucket + "/" + name,
Query: url.Values{"uploadId": {uploadID}},
Parts: make([]s3.SignPart, len(partNumbers)),
}
if m.prefix == "" {
result.URL = m.signEndpoint + "/" + m.bucket + "/" + name
} else {
result.URL = m.signEndpoint + m.prefix + "/" + m.bucket + "/" + name
}
for i, partNumber := range partNumbers {
rawURL := result.URL + "?partNumber=" + strconv.Itoa(partNumber) + "&uploadId=" + uploadID
request, err := http.NewRequestWithContext(ctx, http.MethodPut, rawURL, nil)
@ -276,15 +272,16 @@ func (m *Minio) AuthSign(ctx context.Context, uploadID string, name string, expi
return nil, err
}
request.Header.Set("X-Amz-Content-Sha256", unsignedPayload)
//request = signer.SignV4Trailer(*request, creds.AccessKeyID, creds.SecretAccessKey, creds.SessionToken, m.location, nil)
request = signer.PreSignV4(*request, creds.AccessKeyID, creds.SecretAccessKey, creds.SessionToken, m.location, int64(expire/time.Second))
request = signer.SignV4Trailer(*request, creds.AccessKeyID, creds.SecretAccessKey, creds.SessionToken, m.location, nil)
result.Parts[i] = s3.SignPart{
PartNumber: partNumber,
//URL: request.URL.String(),
Query: url.Values{"partNumber": {strconv.Itoa(partNumber)}},
Header: request.Header,
Query: url.Values{"partNumber": {strconv.Itoa(partNumber)}},
Header: request.Header,
}
}
if m.prefix != "" {
result.URL = m.signEndpoint + m.prefix + "/" + m.bucket + "/" + name
}
return &result, nil
}

Loading…
Cancel
Save