perfection

This commit is contained in:
zz 2021-11-19 10:49:10 +08:00
parent 2d93c365b9
commit c4fd6072f0

View File

@ -80,8 +80,8 @@ public class EvcsFilter extends OncePerRequestFilter {
Date now = Calendar.getInstance().getTime();
ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper(response);
if (servletPath.endsWith("query_token")) {
handleQueryToken(request, response, chain, requestWrapper, bodyString, commonRequest, operatorId,
responseWrapper);
if (!handleQueryToken(request, response, chain, requestWrapper, bodyString, commonRequest, operatorId,
responseWrapper)) return;
} else if (authorization != null && authorization.startsWith("Bearer ")) {
String token = authorization.substring(7);
authSecretTokenIn =
@ -170,11 +170,11 @@ public class EvcsFilter extends OncePerRequestFilter {
}
}
private void handleQueryToken(HttpServletRequest request,
HttpServletResponse response, FilterChain chain,
ServletRequest requestWrapper, String bodyString, CommonRequest commonRequest,
String operatorId,
ContentCachingResponseWrapper responseWrapper) throws IOException, ServletException {
private boolean handleQueryToken(HttpServletRequest request,
HttpServletResponse response, FilterChain chain,
ServletRequest requestWrapper, String bodyString, CommonRequest commonRequest,
String operatorId,
ContentCachingResponseWrapper responseWrapper) throws IOException, ServletException {
AuthSecretToken authSecretTokenIn = authSecretTokenRepository.findByOperatorId3irdptyAndSecretTokenType(operatorId,
AuthSecretToken.SECRET_TOKEN_TYPE_IN).orElse(null);
@ -186,7 +186,8 @@ public class EvcsFilter extends OncePerRequestFilter {
response.getOutputStream().write(data.getBytes(StandardCharsets.UTF_8));
// response.setStatus(403);
responseWrapper = new ContentCachingResponseWrapper(response);
// chain.doFilter(requestWrapper, responseWrapper);
chain.doFilter(requestWrapper, responseWrapper);
return false;
} else {
final byte[] decrypt;
try {
@ -198,10 +199,12 @@ public class EvcsFilter extends OncePerRequestFilter {
resp.setMsg("Invalid Encryption");
String data = JSONUtil.toJSONString(resp);
response.getOutputStream().write(data.getBytes(StandardCharsets.UTF_8));
// chain.doFilter(requestWrapper, responseWrapper);
return;
responseWrapper = new ContentCachingResponseWrapper(response);
chain.doFilter(requestWrapper, responseWrapper);
return false;
}
((HttpServletRequestRepeatReadWrapper) requestWrapper).setBody(decrypt);
return true;
// chain.doFilter(requestWrapper, response);
}
}