Bugfix: Make ipfilteredby not required
@@ -138,15 +138,17 @@ func newCloudFrontStorageMiddleware(storageDriver storagedriver.StorageDriver, o
// parse ipfilteredby
var awsIPs *awsIPs
- if ipFilteredBy := options["ipfilteredby"].(string); ok {
+ if i, ok := options["ipfilteredby"]; ok {
+ if ipFilteredBy, ok := i.(string); ok {
switch strings.ToLower(strings.TrimSpace(ipFilteredBy)) {
case "", "none":
awsIPs = nil
case "aws":
- newAWSIPs(ipRangesURL, updateFrequency, nil)
+ awsIPs = newAWSIPs(ipRangesURL, updateFrequency, nil)
case "awsregion":
var awsRegion []string
- if regions, ok := options["awsregion"].(string); ok {
+ if i, ok := options["awsregion"]; ok {
+ if regions, ok := i.(string); ok {
for _, awsRegions := range strings.Split(regions, ",") {
awsRegion = append(awsRegion, strings.ToLower(strings.TrimSpace(awsRegions)))
}
@@ -154,12 +156,16 @@ func newCloudFrontStorageMiddleware(storageDriver storagedriver.StorageDriver, o
} else {
return nil, fmt.Errorf("awsRegion must be a comma separated string of valid aws regions")
}
+ } else {
+ return nil, fmt.Errorf("awsRegion is not defined")
+ }
default:
return nil, fmt.Errorf("ipfilteredby only allows a string the following value: none|aws|awsregion")
}
} else {
return nil, fmt.Errorf("ipfilteredby only allows a string with the following value: none|aws|awsregion")
}
+ }
return &cloudFrontStorageMiddleware{
StorageDriver: storageDriver,
