|
|
@@ -6,13 +6,11 @@ import cn.reghao.oss.store.api.dto.ObjectChannel;
|
|
|
import cn.reghao.oss.store.api.dto.ObjectMeta;
|
|
|
import cn.reghao.oss.store.db.repository.ObjectRepository;
|
|
|
import cn.reghao.oss.store.service.GetObjectService;
|
|
|
-import cn.reghao.oss.store.service.StoreChannelService;
|
|
|
-import cn.reghao.oss.store.service.StoreLocalCache;
|
|
|
+import cn.reghao.oss.store.service.StoreLocalService;
|
|
|
import cn.reghao.oss.store.util.JwtUtil;
|
|
|
import cn.reghao.oss.store.util.ObjectUtil;
|
|
|
import cn.reghao.oss.store.util.SignatureUtil;
|
|
|
import cn.reghao.oss.store.api.dto.OssPayload;
|
|
|
-import com.github.benmanes.caffeine.cache.Cache;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
@@ -25,16 +23,14 @@ import java.io.IOException;
|
|
|
@RestController
|
|
|
public class ObjectGetController {
|
|
|
private final GetObjectService getObjectService;
|
|
|
- private final StoreLocalCache storeLocalCache;
|
|
|
private final ObjectRepository objectRepository;
|
|
|
- private final StoreChannelService storeChannelService;
|
|
|
+ private final StoreLocalService storeLocalService;
|
|
|
|
|
|
- public ObjectGetController(GetObjectService getObjectService, StoreLocalCache storeLocalCache,
|
|
|
- ObjectRepository objectRepository, StoreChannelService storeChannelService) {
|
|
|
+ public ObjectGetController(GetObjectService getObjectService, ObjectRepository objectRepository,
|
|
|
+ StoreLocalService storeLocalService) {
|
|
|
this.getObjectService = getObjectService;
|
|
|
- this.storeLocalCache = storeLocalCache;
|
|
|
this.objectRepository = objectRepository;
|
|
|
- this.storeChannelService = storeChannelService;
|
|
|
+ this.storeLocalService = storeLocalService;
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/**", method = RequestMethod.HEAD)
|
|
|
@@ -67,9 +63,9 @@ public class ObjectGetController {
|
|
|
}
|
|
|
|
|
|
String queryString = String.format("token=%s&t=%s&nonce=%s", token, timestamp, nonce);
|
|
|
- String url = String.format("//%s/%s", storeLocalCache.getDomain(), objectName);
|
|
|
+ String url = String.format("//%s/%s", storeLocalService.getDomain(), objectName);
|
|
|
String requestString = String.format("%s%s?%s", "GET", url, queryString);
|
|
|
- boolean valid = SignatureUtil.valid(requestString, storeLocalCache.getSecretKey(), sign);
|
|
|
+ boolean valid = SignatureUtil.valid(requestString, storeLocalService.getSecretKey(), sign);
|
|
|
if (!valid) {
|
|
|
String payload = "sign invalid";
|
|
|
getObjectService.writeResponse(HttpServletResponse.SC_FORBIDDEN, payload);
|
|
|
@@ -83,10 +79,10 @@ public class ObjectGetController {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- OssPayload ossPayload = JwtUtil.getOssPayload(token, storeLocalCache.getSecretKey());
|
|
|
+ OssPayload ossPayload = JwtUtil.getOssPayload(token, storeLocalService.getSecretKey());
|
|
|
int loginUser = ossPayload.getUserId();
|
|
|
int channelId = ossPayload.getChannelId();
|
|
|
- ObjectChannel objectChannel = storeChannelService.getChannelByChannelId(loginUser, channelId);
|
|
|
+ ObjectChannel objectChannel = storeLocalService.getChannelByChannelId(loginUser, channelId);
|
|
|
if (objectChannel == null) {
|
|
|
String payload = String.format("channel_id %s not exist", channelId);
|
|
|
getObjectService.writeResponse(HttpServletResponse.SC_FORBIDDEN, payload);
|