Only check validity of S3 region if not using custom endpoint

Signed-off-by: Arien Holthuizen <aholthuizen@schubergphilis.com>
This commit is contained in:
Arien Holthuizen 2016-04-06 13:34:14 +02:00
parent 27e0be3e95
commit dbb6e28da2

View File

@ -136,14 +136,21 @@ func FromParameters(parameters map[string]interface{}) (*Driver, error) {
secretKey = ""
}
regionEndpoint := parameters["regionendpoint"]
if regionEndpoint == nil {
regionEndpoint = ""
}
regionName, ok := parameters["region"]
if regionName == nil || fmt.Sprint(regionName) == "" {
return nil, fmt.Errorf("No region parameter provided")
}
region := fmt.Sprint(regionName)
_, ok = validRegions[region]
if !ok {
return nil, fmt.Errorf("Invalid region provided: %v", region)
// Don't check the region value if a custom endpoint is provided.
if regionEndpoint == "" {
if _, ok = validRegions[region]; !ok {
return nil, fmt.Errorf("Invalid region provided: %v", region)
}
}
bucket := parameters["bucket"]
@ -151,11 +158,6 @@ func FromParameters(parameters map[string]interface{}) (*Driver, error) {
return nil, fmt.Errorf("No bucket parameter provided")
}
regionEndpoint := parameters["regionendpoint"]
if regionEndpoint == nil {
regionEndpoint = ""
}
encryptBool := false
encrypt := parameters["encrypt"]
switch encrypt := encrypt.(type) {