treat null and empty string equally for endpoint properties

This improves the usability of the docker image, as it defaults
to empty strings for both properties. With this fix, the docker image
will work when only one of the endpoints are set.
pull/571/head
Lars Hagen 2023-10-24 12:28:30 +02:00 zatwierdzone przez Andrew Gaul
rodzic 60f8366d33
commit 2281c74150
1 zmienionych plików z 5 dodań i 3 usunięć

Wyświetl plik

@ -161,16 +161,18 @@ public final class S3Proxy {
S3ProxyConstants.PROPERTY_ENDPOINT);
String secureEndpoint = properties.getProperty(
S3ProxyConstants.PROPERTY_SECURE_ENDPOINT);
if (endpoint == null && secureEndpoint == null) {
boolean hasEndpoint = !Strings.isNullOrEmpty(endpoint);
boolean hasSecureEndpoint = !Strings.isNullOrEmpty(secureEndpoint);
if (!hasEndpoint && !hasSecureEndpoint) {
throw new IllegalArgumentException(
"Properties file must contain: " +
S3ProxyConstants.PROPERTY_ENDPOINT + " or " +
S3ProxyConstants.PROPERTY_SECURE_ENDPOINT);
}
if (endpoint != null) {
if (hasEndpoint) {
builder.endpoint(new URI(endpoint));
}
if (secureEndpoint != null) {
if (hasSecureEndpoint) {
builder.secureEndpoint(new URI(secureEndpoint));
}