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") {
|
if !strings.HasPrefix(uri, "http") {
|
||||||
uri = "https://" + uri
|
uri = "https://" + uri
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// make sure there is no trailing slash
|
||||||
|
if uri[len(uri)-1] == '/' {
|
||||||
|
uri = uri[:len(uri)-1]
|
||||||
|
}
|
||||||
s3.Endpoint = uri
|
s3.Endpoint = uri
|
||||||
}
|
}
|
||||||
return s3
|
return s3
|
||||||
|
|||||||
@@ -351,6 +351,12 @@ func TestCustomEndpoint(t *testing.T) {
|
|||||||
if s3.getURL("bucket3") != "https://example.com/bucket3" {
|
if s3.getURL("bucket3") != "https://example.com/bucket3" {
|
||||||
t.Errorf("S3.SetEndpoint() got = %v", s3.Endpoint)
|
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) {
|
func TestGetURL(t *testing.T) {
|
||||||
|
|||||||
Reference in New Issue
Block a user