update 优化 oss 协议头拼接写法

This commit is contained in:
疯狂的狮子Li
2026-06-26 10:20:15 +08:00
parent eab4228548
commit 837604f889
@@ -1,6 +1,5 @@
package org.dromara.common.oss.config; package org.dromara.common.oss.config;
import cn.hutool.http.HttpUtil;
import lombok.Builder; import lombok.Builder;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@@ -196,8 +195,8 @@ public class OssClientConfig implements Config<OssClientConfig, OssClientConfig.
public String getDomainUrl() { public String getDomainUrl() {
return domain() return domain()
// 如果已经配置了自定义域名,则优先使用域名 // 如果已经配置了自定义域名,则优先使用域名
// 检查携带协议头 .filter(StringUtils::isNotBlank)
.filter(OssClientConfig::hasHttpHeader) .map(domain -> BucketUrlUtil.rebuildUrlHeader(useHttps, domain.trim()))
// 否则使用站点 // 否则使用站点
.orElseGet(this::getEndpointUrl); .orElseGet(this::getEndpointUrl);
} }
@@ -274,7 +273,8 @@ public class OssClientConfig implements Config<OssClientConfig, OssClientConfig.
*/ */
private String getAccessBaseUrl() { private String getAccessBaseUrl() {
return domain() return domain()
.filter(OssClientConfig::hasHttpHeader) .filter(StringUtils::isNotBlank)
.map(String::trim)
.orElseGet(this::getEndpoint); .orElseGet(this::getEndpoint);
} }
@@ -289,16 +289,6 @@ public class OssClientConfig implements Config<OssClientConfig, OssClientConfig.
.orElseThrow(() -> S3StorageException.form("endpoint is not configured.")); .orElseThrow(() -> S3StorageException.form("endpoint is not configured."));
} }
/**
* 判断 URL 是否包含 HTTP 协议头。
*
* @param url URL
* @return 是否包含 HTTP 协议头
*/
private static boolean hasHttpHeader(String url) {
return HttpUtil.isHttp(url) || HttpUtil.isHttps(url);
}
/** /**
* ACL访问策略配置 * ACL访问策略配置
*/ */