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