update - 增加日志
This commit is contained in:
parent
1ce361943b
commit
80d68bf482
@ -1,18 +1,24 @@
|
||||
package cn.axzo.workflow.server.common.interceptor;
|
||||
|
||||
import cn.axzo.workflow.core.common.exception.WorkflowEngineException;
|
||||
import cn.axzo.workflow.core.repository.entity.ExtAxProperty;
|
||||
import cn.axzo.workflow.core.service.ExtAxPropertyService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Objects;
|
||||
|
||||
import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_API_VERSION;
|
||||
import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_HTTP_CLIENT;
|
||||
import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_HTTP_CLIENT_VALUE;
|
||||
import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_SERVER_NAME;
|
||||
import static cn.axzo.workflow.core.common.code.OtherRespCode.CLIENT_VERSION_SUPPORT;
|
||||
|
||||
/**
|
||||
* 客户端与服务端的版本比较
|
||||
@ -30,24 +36,26 @@ public class RequestHeaderContextInterceptor implements HandlerInterceptor {
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
log.info("request uri : {}", request.getRequestURI());
|
||||
// if (Objects.equals(HEADER_HTTP_CLIENT_VALUE, request.getHeader(HEADER_HTTP_CLIENT))) {
|
||||
// String headerClientVersion = request.getHeader(HEADER_API_VERSION);
|
||||
// DefaultArtifactVersion clientVersion = new DefaultArtifactVersion(headerClientVersion);
|
||||
// DefaultArtifactVersion serverVersion = new DefaultArtifactVersion(serviceVersion);
|
||||
// if (clientVersion.compareTo(serverVersion) >= 0) {
|
||||
//
|
||||
// recordClientInfo(request, headerClientVersion, clientVersion);
|
||||
//
|
||||
// return true;
|
||||
// } else {
|
||||
// throw new WorkflowEngineException(CLIENT_VERSION_SUPPORT, serviceVersion);
|
||||
// }
|
||||
// }
|
||||
// if (!request.getRequestURI().contains("/web/") && !request.getRequestURI().contains("checkDeath")
|
||||
// && !StringUtils.hasText(request.getHeader(HEADER_HTTP_CLIENT))) {
|
||||
// throw new WorkflowEngineException(CLIENT_VERSION_SUPPORT, serviceVersion);
|
||||
// }
|
||||
if (Objects.equals(HEADER_HTTP_CLIENT_VALUE, request.getHeader(HEADER_HTTP_CLIENT))) {
|
||||
String headerClientVersion = request.getHeader(HEADER_API_VERSION);
|
||||
DefaultArtifactVersion clientVersion = new DefaultArtifactVersion(headerClientVersion);
|
||||
DefaultArtifactVersion serverVersion = new DefaultArtifactVersion(serviceVersion);
|
||||
if (clientVersion.compareTo(serverVersion) >= 0) {
|
||||
|
||||
recordClientInfo(request, headerClientVersion, clientVersion);
|
||||
|
||||
return true;
|
||||
} else {
|
||||
log.info("request uri : {}", request.getRequestURI());
|
||||
throw new WorkflowEngineException(CLIENT_VERSION_SUPPORT, serviceVersion);
|
||||
}
|
||||
}
|
||||
// 仅 feignApi 才需要检查版本
|
||||
if (!request.getRequestURI().contains("/web/") && !request.getRequestURI().contains("checkDeath")
|
||||
&& !StringUtils.hasText(request.getHeader(HEADER_HTTP_CLIENT))) {
|
||||
log.info("request uri : {}", request.getRequestURI());
|
||||
throw new WorkflowEngineException(CLIENT_VERSION_SUPPORT, serviceVersion);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user