
tech.mhuang.pacebox.oss.interceptor.OssUploadInterceptor Maven / Gradle / Ivy
The newest version!
package tech.mhuang.pacebox.oss.interceptor;
import tech.mhuang.pacebox.core.chain.BaseChain;
import tech.mhuang.pacebox.core.chain.BaseInterceptor;
import tech.mhuang.pacebox.core.exception.BusinessException;
import tech.mhuang.pacebox.core.util.ObjectUtil;
import tech.mhuang.pacebox.oss.BaseOssHandler;
import tech.mhuang.pacebox.oss.domain.OssUploadRequest;
import tech.mhuang.pacebox.oss.domain.OssUploadResult;
import java.util.Map;
/**
* oss上传接口拦截
*
* @author mhuang
* @since 1.0.0
*/
public interface OssUploadInterceptor extends BaseInterceptor, OssUploadResult> {
class Standard implements OssUploadInterceptor {
private final Map ossHandlerMap;
public Standard(Map ossHandlerMap) {
this.ossHandlerMap = ossHandlerMap;
}
@Override
public OssUploadResult interceptor(BaseChain chain) {
OssUploadRequest request = chain.request();
OssUploadResult result;
BaseOssHandler ossHandler = ossHandlerMap.get(request.getType());
if (ObjectUtil.isEmpty(ossHandler)) {
result = OssUploadResult.builder().success(false)
.message("找不到上传的OSS配置")
.throwable(new BusinessException(500, "找不到上传的OSS配置")).build();
} else {
result = ossHandler.upload(request);
}
return result;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy