fix: Ensure trailing slash in CustomEndpoint is handled gracefully
This commit is contained in:
@@ -189,6 +189,11 @@ func (s3 *S3) SetEndpoint(uri string) *S3 {
|
||||
if !strings.HasPrefix(uri, "http") {
|
||||
uri = "https://" + uri
|
||||
}
|
||||
|
||||
// make sure there is no trailing slash
|
||||
if uri[len(uri)-1] == '/' {
|
||||
uri = uri[:len(uri)-1]
|
||||
}
|
||||
s3.Endpoint = uri
|
||||
}
|
||||
return s3
|
||||
|
||||
@@ -351,6 +351,12 @@ func TestCustomEndpoint(t *testing.T) {
|
||||
if s3.getURL("bucket3") != "https://example.com/bucket3" {
|
||||
t.Errorf("S3.SetEndpoint() got = %v", s3.Endpoint)
|
||||
}
|
||||
|
||||
// try with trailing slash
|
||||
s3.SetEndpoint("https://example.com/foobar/")
|
||||
if s3.getURL("bucket4") != "https://example.com/foobar/bucket4" {
|
||||
t.Errorf("S3.SetEndpoint() got = %v", s3.Endpoint)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetURL(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user