diff --git a/lib/api/objectGet.js b/lib/api/objectGet.js index e9c214ea6b..0316358f8e 100644 --- a/lib/api/objectGet.js +++ b/lib/api/objectGet.js @@ -15,13 +15,18 @@ const getReplicationBackendDataLocator = require('./apiUtils/object/getReplicationBackendDataLocator'); const { metadataValidateBucketAndObj } = require('../metadata/metadataUtils'); const { config } = require('../Config'); -const { locationConstraints } = config; +let { locationConstraints } = config; + +config.on('location-constraints-update', () => { + locationConstraints = config.locationConstraints; +}); const validateHeaders = s3middleware.validateConditionalHeaders; function _retrieveDefaultRead(locationName, objectKey, bucketName) { const readLocation = locationConstraints[locationName]; - const bucketMatch = readLocation.details.bucketMatch; + const bucketMatch = 'details' in readLocation ? + readLocation.details.bucketMatch : true; const backendKey = bucketMatch ? objectKey : `${bucketName}/${objectKey}`; return {